C 和C++间struct 的深层区别

来源:本站
导读:目前正在解读《C 和C++间struct 的深层区别》的相关信息,《C 和C++间struct 的深层区别》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C 和C++间struct 的深层区别》的详细说明。
简介:在C++语言中struct 具有了“类” 的功能,其与关键字class 的区别在于struct 中成员变量
和函数的默认访问权限为public,而class 的为private。

在C++语言中struct 具有了“类” 的功能,其与关键字class 的区别在于struct 中成员变量和函数的默认访问权限为public,而class 的为private。

例如,定义struct 类和class 类:

struct structA

{

char a;

}

class classB

{

char a;

}

则:

structA a;

a.a = 'a'; //访问public 成员,合法

classB b;

b.a = 'a'; //访问private 成员,不合法

许多文献写到这里就认为已经给出了C++中struct 和class 的全部区别,实则不然,另外一点需要注意的是:

C++中的struct 保持了对C 中struct 的全面兼容(这符合C++的初衷——“a better c”),因而,下面的操作是合法的:

//定义struct

struct structA

{

char a;

char b;

int c;

};

structA a = {'a' , 'a' ,1}; // 定义时直接赋初值

即struct 可以在定义的时候直接以{ }对其成员变量赋初值,而class 则不能,在经典书目《thinking C++ 2nd edition》中作者对此点进行了强调。

提醒:《C 和C++间struct 的深层区别》最后刷新时间 2024-03-14 01:01:39,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C 和C++间struct 的深层区别》该内容的真实性请自行鉴别。