• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++中struct和class的区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 一、使用class和struct定义类唯一的区别是默认的访问权限。

  如果使用struct关键字,则定义第一个访问说明符之前的成员是public的,或没有访问说明符,则默认为public;相反,如果使用class关键字,则这些成员是private的,或没有访问说明符,则默认为private。

  注:访问说明符:public、private

 1 class Sales_data
 2 {
 3     double price;    //默认为私有成员。
 4     .....
 5 };
 6 
 7 struct Sales_data
 8 {
 9     double price;    //默认为公有成员。
10     .....
11 };

二、默认继承权限不同

  如果不明确指定,来自class的继承按照private继承,而struct的继承按照public处理。struct和class可以相互继承,但当交叉继承时,到底默认继承的public还是private的,这个要和子类关键字有关。

struct A{};
struct B:A{};    //公有继承
class C:A{};    //私有继承

 

如果将其中类A的关键字变为class

1 class A{};
2 struct B:A{};    //私有继承,默认的继承访问权

 

若是还想类B公有继承继承class  A,则需指定继承类型,如下:

1 struct B :public A{};

 

三、定义模板参数

定义模板参数时,我们可以用class或typename,但是这里不能用关键字struct去定义模板参数。

个人水平有限,若有错误,欢迎指出,谢谢!

链接:

http://www.cnblogs.com/ccsccs/articles/4025215.html

http://www.cnblogs.com/findumars/p/5006172.html

http://blog.csdn.net/nocky/article/details/6195556

http://www.cnblogs.com/niaowo/p/4502519.html

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#实现函数默认值和C#4.0实现默认值 ...发布时间:2022-07-13
下一篇:
c#开发Windows服务程序指南发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap