答:在 c 里结构体只能定义数据成员,不能有函数成员,但可以定义函数指针来模拟函数。在 C 中,结构体和类除了默认的访问方式和默认的继承方式不同外,其它都一样。结构体默认是公有,类默认是私有。
C++中struct与class的区别: 用途:struct通常用于描述数据的集合,而class用于封装对象的数据。 默认访问权限:struct的默认访问权限是public,class的默认访问权限是private。 继承:在继承关系中,struct默认是公有继承,而class默认是私有继承。 模板参数:class关键字可以用于定义模板参数,而struct不可以。 C与C++中struct的区...
而通过struct定义的成员在不加任何修饰符的情况下,在外部是可以直接访问的。这说明他们俩的默认访问权限不同!抛开这个区别,struct和class都是差不多的了。都可以定义在内部定义数据,定义函数,以及都允许继承和用作模版。 虽然struct和class很相像,但我在这里还是建议大家如果成员只是用作存放数据的话,还是使用struct,...
说到这里,很多了解的人或许都认为这个话题可以结束了,因为他们知道struct和class的“唯一”区别就是访问控制。很多文献上也确实只提到这一个区别。 但我上面却没有用“唯一”,而是说的“最本质”,那是因为,它们确实还有另一个区别,虽然那个区别我们平时可能很少涉及。那...
在第一种情况下,struct与class有着非常明显的区别。C是一种过程化的语言,struct只是作为一种复杂数据类型定义,struct中只能定义成员变量,不能定义成员函数。例如下面的C代码片断: 1structPoint2{3intx;//合法4inty;//合法5voidprint()6{7printf("Point print\n");//编译错误8};9};10 ...
C++中结构体和类只有两个区别: 默认的继承方式不同:struct默认继承方式为public,class默认继承方式为private。 成员的默认访问权限不同:struct中成员的默认访问权限为public,class中成员的默认访问权限为private。 struct是C++编程中常用的模块化编程设计的常用手段。
您忘记了类和结构之间棘手的第二个区别。 引用标准(C++98 到 C++11 中的第 11.2.2 节): 在基类没有 访问说明符 的情况下,当派生类声明为 struct 时假定为 public,而当声明 类 为class 时假定为 private。 为了完整起见,类和结构之间更广为人知的区别在 (11.2) 中定义: 默认情况下,使用关键字 class 定...
struct没有继承,没有封装,要说封装只有初步封装。而class把数据,接口可以以三种类型封装,private,public,protected;还可以继承和派生。它们都可以提供自己的接口函数,构造函数。一个类可以由结构继承而来。struct只能叫做数据的集合,外部可以任意访问,但是类就完成了封装,维护了数据安全,这就是面向...
A.class 允许继承,而struct不允许继承 。B.class 有构造函数,而struct没有构造函数 。C.对于成员访问权限以及继承方式,class中默认的是private的,而struct中则是public的。class还可以用于表示模板类型,struct则不行 。D.class 有析构函数,而struct没有析构函数。相关...