日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

一起來了解一下C++的結構體?struct_C 語言

作者:南城同學 ? 更新時間: 2022-04-23 編程語言

struct 結構體

占用空間

在C++ 中空結構體占1個字節

struct Temp{};sizeof(Temp); // 1struct Temp{};
sizeof(Temp); // 1

1.字節對齊規則(為了便于cpu尋址) 元素的首地址必須是當前元素所占空間的整數倍

2.結構體的總長度必須是最大元素所占空間的整數倍

struct Stu{
	int age;
	char sex;
}
sizeof(Stu); // 8 最后補三個字節滿足規則2

struct Stu2{
	char sex;
	int age;
}
sizeof(Stu2); // 8 char后面補三個字節滿足規則1

與類的區別

訪問控制權限

結構體在C++ 中的默認訪問控制權限都是***public***的,而class的默認是***private***的

主要用途

結構體主要是作為數據的集合

而類是對象,是屬性和方法的集合

c結構體實現虛函數的功能

#include <stdio.h>
typedef int(*fun)(void);
int getParentSex() 
{
    return 1;
}
int getSonSex() 
{
    return 2;
}
struct Parent
{
    fun getSex;
};
struct Son
{
    fun getSex;
};
int main()
{
	// 通過函數指針的賦值達到虛函數的作用
    struct Parent parent;
    parent.getSex = getParentSex;
    struct Son son;
    son.getSex = getSonSex;
    printf("Parent sex is %d \nson sex is %d\n", parent.getSex(), son.getSex());
    getchar();
}

總結

原文鏈接:https://blog.csdn.net/guuci/article/details/122973706

欄目分類
最近更新