【编程语言】c++语法--struct和class的区别?
2011-11-10 21:46
218 查看
C++语言中,结构体类型跟class类型基本是一样的。只除两点:
(1)默认成员访问权限为struct为public,class为private;
(2)默认继承权限,继承自struct的默认为public继承,继承自class的默认为private继承。
除此之外,class是怎样的,struct就是怎样。
java里面没有结构体
C++为什么里面为什么要引用struct
为什么在C++中存在struct?很多人都会想到这是为了让C++和C兼容,那么问题就是如何使用C++中的struct和C兼容起来。 把C++要交换到C程序的数据在C++程序中声明成一个struct,然后根据C++中程序的语意选择继承或者聚合这个struct,然后在使用的时候就
可以把这个struct封装起来传递到C中或者从C中传递到C++。(注:在深入探索C++对象模型中建议使用聚合,而不是继承,原因是为了和C语言的空 间分布兼容,因为在C++引入虚函数,虚继承导致了派生类的空间包括struct的空间和vptr、vbtl,而且vptr、vbtl存放在哪里由编译器 自己决定,C++标准中没有定义)。
(1)默认成员访问权限为struct为public,class为private;
(2)默认继承权限,继承自struct的默认为public继承,继承自class的默认为private继承。
除此之外,class是怎样的,struct就是怎样。
java里面没有结构体
C++为什么里面为什么要引用struct
为什么在C++中存在struct?很多人都会想到这是为了让C++和C兼容,那么问题就是如何使用C++中的struct和C兼容起来。 把C++要交换到C程序的数据在C++程序中声明成一个struct,然后根据C++中程序的语意选择继承或者聚合这个struct,然后在使用的时候就
可以把这个struct封装起来传递到C中或者从C中传递到C++。(注:在深入探索C++对象模型中建议使用聚合,而不是继承,原因是为了和C语言的空 间分布兼容,因为在C++引入虚函数,虚继承导致了派生类的空间包括struct的空间和vptr、vbtl,而且vptr、vbtl存放在哪里由编译器 自己决定,C++标准中没有定义)。
相关文章推荐
- C++中struct 和 class 的区别
- C/C++class和struct有什么区别?
- c++的struct和class的区别
- C++中类class与结构体struct的异同区别
- C++ class和struct的区别
- c++中struct和class的区别
- C++中class和struct的区别
- C++ struct 和 Class的区别
- C++中class和struct的区别
- 在c++中struct和class的区别
- C/C++面试题:class和struct有什么区别?
- C++中struct 和 class的区别
- C++中结构体与类的区别(struct与class的区别)
- C++中class与struct的区别(struct的类型名同时可以作为变量名)
- c++ struct和class的区别
- C/C++面试题:class和struct有什么区别?
- c++ Struct和Class的区别
- C++中struct与class的区别
- C++中struct和class的区别
- c++中class和struct的区别