【编程语言】c++语法--struct和class的区别?

来源:互联网 发布:java中强制类型转换 编辑:程序博客网 时间:2024/06/15 03:31
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++标准中没有定义)。

原创粉丝点击