·C++中struct与class结构的区别
来源:互联网 发布:企业局域网通信软件 编辑:程序博客网 时间:2024/05/17 23:08
·C++中struct与class结构的区别
区别:
为什么要有struct的存在呢?首先的原因自然是保持对C的兼容。原先的C代码可以不必修改就成为合法的C++代码。第二个原因(个人愚见),是为了让struct来表示抽象的数据类型以及抽象接口,而与class所表示的类的概念相区别。
1.C++中的结构struct和C中的struct不同,实际上C++的中的struct和class一样,在C++中,也可以为结构定义成员函数,惟一不同在于默认的存取权限,class中若没有指定成员的存取权限,则默认为private成员,而struct中没有指定成员存取权限,默认是public成员。
2.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》中作者对此点进行了强调。
struct structA
{
char a;
char b;
int c;
};
structA a = {'a' , 'a' ,1}; // 定义时直接赋初值
即struct可以在定义的时候直接以{ }对其成员变量赋初值,而class则不能,在经典书目《thinking C++ 2nd edition》中作者对此点进行了强调。
另外还有强调的就是:
构造函数,析构函数 this 指针方面不同,在C的struct里没有,在写在C++里的话,就都有这个属性了,因为C++里对struct对象当作类对象来处理的.
构造函数,析构函数,继承,多态什么的在结构体都能用
1, 只是结构体成员变量和成员函数默认的是public类默认的是private。
2, 继承是不是也不一样, struct默认是public的, class默认是private的。
1, 只是结构体成员变量和成员函数默认的是public类默认的是private。
2, 继承是不是也不一样, struct默认是public的, class默认是private的。
- ·C++中struct与class结构的区别
- struct结构 与 class类 的区别
- 结构(struct)与类(class)的区别
- 结构体struct与class的区别
- C与C++中struct的区别,以及C++中struct与Class的区别
- C与C++中struct的区别,以及C++中struct与Class的区别
- C/C++中struct与class的区别
- C与C++中struct及C++中struct与class的区别
- [C#]class 与 struct 的区别
- C++:struct与class的区别
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++ 中 struct 与 class的区别
- 男儿当杀人,杀人不留情
- 盖茨布道哈佛:未来10年变化超过过去30年
- 客户端控制服务器控件失效
- QTP中一些基础代码结构累积
- ListBox實現點選和多選,就是CTR+鼠標點擊選中
- ·C++中struct与class结构的区别
- 路过错过
- 路由器关于源路由的处理
- 智能指针的原始结构
- 今天的解放军为何没有元帅和大将?(转自虚幻天空论坛)
- 外贸员不要犯的错误
- 我的blog开通了,主题是基于J2EE的工作流
- 不理解容器,罗列一些书上提到的“容器”
- 找了个资料,UNIX家族史,附图说明!