黑马程序员技术交流社区

标题: 结构体和类 [打印本页]

作者: з︶_伱眼裏    时间: 2013-12-29 22:05
标题: 结构体和类
本帖最后由 з︶_伱眼裏 于 2013-12-30 15:02 编辑

结构体和类有什么区别????
作者: 许庭洲    时间: 2013-12-29 22:09
1. Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的。
2. Class可以被实例化,属于引用类型,是分配在内存的堆上的,类是引用传递的。
作者: 于磊    时间: 2013-12-29 22:23
C++的class跟C的struct区别太多太多,就不一一列举了。

但C++的class和C++的struct之间区别很小,只有两点:
(1)默认的成员访问权限,前者是private,后者是public;
(2)默认的继承权限,来自class的继承默认为private继承,来自struct的继承默认是public继承。
作者: 红鹰(Jake)    时间: 2013-12-29 22:54
1、结构体是数值类型,引用另一个的结构信息时是重新开了一个内存空间,一个发生属性改变,另一个不会发生改变。而类是应用类型,当引用另一个结构体成员变量的时候,一个信息发生了改变,另一个信息也将发生改变。
2、可以有构造函数,没有默认的无参构造,但可以调用无参构造函数。
3、没有析构函数
4、可以不适用new实例化
5、没有关键字abstract、protected、sealed修饰符
6、结构体中的数据成员必须都要赋值,如果用new构造一个无参函数,则数据成员会得到一个默认的值。
作者: liulinaxue    时间: 2013-12-30 10:16

1.Struct属于值类型, Class属于引用类型
2.结构不可以被继承,类可以被继承

作者: 568839480    时间: 2013-12-30 11:38
1.结构属于值类型,而且不可空,类属于引用类型,可空
2.在分配内存空间时,结构时根据其成员分配,有多少成员分配多少内存,而类不是

作者: 一席倾城    时间: 2013-12-30 12:31
简单的说就是结构体能做的工作,类都能做,但结构体不具有继承、多态性,其实,刚开始理解到这里就行了。。
作者: 卖火柴    时间: 2013-12-30 15:38
结构体是一种值类型,而类是引用类型。(值类型、引用类型是根据数据存储的角度来分的)
就是值类型用于存储数据的值,引用类型用于存储对实际数据的引用。那么结构体就是当成值来使用的,类则通过引用来对实际数据操作。
结构体的定义是:有些数据既是相互关联的,又共同描述一个完整事物,如:一个学生的整体信息,学号、姓名、性别等。而类则使用在需要比较有层次的数据上面。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2