(1.1.12)结构体和类的区别
来源:互联网 发布:it好不好学 编辑:程序博客网 时间:2024/06/06 21:43
(1)在C++中只有两点区别:
(1)class中默认的成员访问权限是private的,而struct中则是public的。
(1)class中默认的成员访问权限是private的,而struct中则是public的。
(2)从class继承默认是private继承,而从struct继承默认是public继承。
c里面的struct只是变量的聚合体,struct不能有函数
c++的struct可有构造和析构函数
【从使用角度区分】
1)Struct结构体是“复合类型”,其功能等同与基本的int,double的用法,尽管struct也可以写方法,但是不赞成这样做。因为struct的引入是为了解决“多类型”的问题(比如一个学生记录包含id,name等不同基本类型的组合,单个int,string无法满足,所以才出现了struct)。类是组成面向对象编程的基础,功能远远大于结构。
2)Struct因为默认继承System.ValueType(可以这样理解),因此说,一个结构赋值给另外一个结构的时候,相当于做了拷贝复制功能(两者完全没有联系,假设A=B,那么B和A各自改变互不影响);但是class的话A=B,A和B共同引用同一个单元,A或者B有一方改变就影响了另外一方。本质上class是封装的指针而已。
【从构造函数区分】
结构体的默认构造函数是无参的构造函数,但是如果你为一个结构体定义了带参的构造函数,你绝对不能再重复去写一遍那个无参的空构造函数;类相反——定义了一个带参的构造函数,绝对要再重复定义一次空构造函数,否则你无法调用空构造函数。
0 0
- (1.1.12)结构体和类的区别
- 类和结构体的区别
- 结构体和类的区别
- 类和结构体的区别
- 【转】类和结构体的区别
- 结构体和类的区别
- c++ 结构体和类的区别
- 结构体和类的区别
- 结构体和类的区别
- 结构体和类的区别
- 结构体和类的区别
- 结构体和类的区别
- 类和结构体的区别
- 类和结构体的区别
- 结构体 和 类的区别
- C#结构体和类的区别
- C++结构体和类的区别
- 结构体和类的区别
- Java垃圾回收
- 下载新浪android SDK
- Leetcode String to Integer (atoi)
- Java复习(2)
- 深度优先搜索(DFS)
- (1.1.12)结构体和类的区别
- 智力题集
- 使用svn 时打patch与应用 patch
- override->重写(=覆盖)、overload->重载、polymorphism -> 多态
- 丑数
- HDU 3074 Multiply game(线段树区间乘积,单点更新)
- Data Modeling In Redis
- 熟能生巧
- 几个国家的名字比大小