| ·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》中作者对此点进行了强调。 另外还有强调的就是: 构造函数,析构函数 this 指针方面不同,在C的struct里没有,在写在C++里的话,就都有这个属性了,因为C++里对struct对象当作类对象来处理的. 构造函数,析构函数,继承,多态什么的在结构体都能用 1, 只是结构体成员变量和成员函数默认的是public类默认的是private。 2, 继承是不是也不一样, struct默认是public的, class默认是private的。 |
·C++中struct与class结构的区别
最新推荐文章于 2025-09-16 12:55:35 发布
博客涉及C和C++语言中struct和class的相关内容,在信息技术领域,这两种结构在程序设计里有重要作用,C++的class还具备更多面向对象特性,能帮助开发者更好地组织代码和实现功能。
7827

被折叠的 条评论
为什么被折叠?



