码迷,mamicode.com
首页 > 其他好文 > 详细

struct和class的区别

时间:2017-05-14 21:47:49      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:对象   代码   class   变量   子类   sina   private   实现   span   

来自:http://blog.sina.com.cn/s/blog_48f587a80100k630.html

C++中的struct是对C中struct进行了扩展,它不单是一个包含不同数据类型的数据结构了,它还有其他很多的功能,例如:

1. 声明变量和方法

2. 继承

3. 实现多态

struct与class之间的两点区别:

区别一:默认的继承访问权限

struct继承时默认的是public继承,class默认的是private,这也就是为什么在C++中实现继承时总是写成下面这种形式的原因(明确指定是public继承):

1 class Affect1 : public Affect{}

struct继承时:

1 struct A
2 {
3     char a;
4 }
5 
6 struct B : A
7 {
8    int n;      
9 }

上述代码中结构体B对于A的继承是public。

此外,class也能继承struct,struct也能继承class,那么继承是public还是private的取决于子类,例如:

1 struct A{};
2 class B : A{}; //子类是class,private继承
3 struct C : B{}; //子类是struct,public继承

区别二:对于自身数据默认的访问权限

struct默认的数据访问权限是public的,而class对成员变量默认的访问权限是private的。

 

总结:struct更适合看成一个数据结构的实现,而class更适合看成一个对象的实现。

struct和class的区别

标签:对象   代码   class   变量   子类   sina   private   实现   span   

原文地址:http://www.cnblogs.com/calence/p/6853608.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!