当前位置: 首页 > news >正文

C++中struct和class的区别

 一、使用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

 

转载于:https://www.cnblogs.com/love-yh/p/7268182.html

相关文章:

  • Socket网络编程实例2
  • Oracle查询锁表和解锁
  • Spring学习笔记——Spring依赖注入原理分析
  • 这本将shell的书应该不错
  • System.Web.UI.Page
  • TensorFlow 101 | 原理与概念
  • Apache POI
  • [转]Spring Boot应用的后台运行配置
  • 博客第五天
  • 百度知道芝麻将,申请资格权限介绍奖惩制度(简剖)
  • Android真机调试访问本地服务器(localhost)的解决方案
  • matplotlib之scatter绘制散点
  • IBM 存储高可用HA解决方案和DR连续性解决方案
  • [luoguP2401] 不等数列
  • vitamio遇到的坑,都是不能播放
  • Apache的基本使用
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • es6--symbol
  • golang 发送GET和POST示例
  • Java比较器对数组,集合排序
  • Windows Containers 大冒险: 容器网络
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 问题之ssh中Host key verification failed的解决
  • 一个JAVA程序员成长之路分享
  • 一些关于Rust在2019年的思考
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 正则学习笔记
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #define、const、typedef的差别
  • #Linux(Source Insight安装及工程建立)
  • #NOIP 2014# day.1 T2 联合权值
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (rabbitmq的高级特性)消息可靠性
  • (多级缓存)缓存同步
  • (二十四)Flask之flask-session组件
  • (附源码)ssm高校实验室 毕业设计 800008
  • (三)Honghu Cloud云架构一定时调度平台
  • (原)本想说脏话,奈何已放下
  • (转)VC++中ondraw在什么时候调用的
  • (转)平衡树
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net(C#)中String.Format如何使用
  • .net开发引用程序集提示没有强名称的解决办法
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @ComponentScan比较
  • [ Linux ] Linux信号概述 信号的产生
  • [<MySQL优化总结>]
  • [20190416]完善shared latch测试脚本2.txt
  • [android] 请求码和结果码的作用