C++ class和struct区别整理
来源:互联网 发布:elsevier数据库进不去 编辑:程序博客网 时间:2024/05/21 09:57
1、访问控制:class成员默认权限是private的,而struct成员默认权限是public;class默认继承方式是私有的继承,而struct默认是公有继承。这就是为什么我们在使用class继承的时候要表明public继承的原因。
2、到底默认是public继承还是private继承,关键看子类而不是基类,即struct可以继承class,class也可以继承struct,默认的访问控制权限主要看子类是struct还是class,如下:
class A;
struct B : class A; //public继承
class C: class A // private继承
3、class可用于定义函数模板,使用方法同“typename”;但是struct无法用于定义模板参数。
4、在程序里,大部分位置可以完全将class和struct混用,但是为了程序可读性,需要确定两者更合理的使用方法,struct 更倾向于数据结构的实现体,而class更倾向于属于一种对象的实现体。
,5、在C语言中,class和struct还有其他不同,c是一种过程化的定义,而struct是一种复杂数据类型定义,并且struct只能定义成员变量,不能定义成员函数;
6、C++中保留了c语言中的struct关键字,并加以扩充,在C语言中,struct只能包含成员变量,不能包含成员函数。而在C++中国魂,struct类似于class,即可以包含成员变量,也可以包含成员函数。
(本文扒自n个牛人博客加上C++Primer Plus归纳,如有侵权,私聊我)
0 0
- C++ class和struct区别整理
- C#struct和class的区别
- [C#]class和struct的区别
- 【C++】class和struct的区别
- C/C++ struct和class区别详解
- struct和 class区别
- class和struct区别
- struct和class 区别
- struct和class 区别
- class和struct区别
- c ++ class和struct
- 【C++】struct和class
- C/C++class和struct有什么区别?
- [C++] 再谈Struct和Class的区别
- C/C++面试题:class和struct有什么区别?
- C/C++面试题:class和struct有什么区别?
- C/C++面试题:class和struct有什么区别?
- C/C++面试题:class和struct有什么区别?
- 【VS2013】error C2059: 语法错误:“::” error C2589: “(”:“::”右边的非法标记
- Linux内核分析(五)之有始有终
- 编译与链接
- EJB基础知识(一)
- Flip Game
- C++ class和struct区别整理
- CCCC-GPLT L1-039. 古风排版 团体程序设计天梯赛
- WordPress 使用过程偶尔出现”建立数据库连接错误”
- thinkphp的路由的设置与使用
- Unity3d碰撞检测中碰撞器与触发器的区别
- 快速搭建EF上下文链接数据库
- 广东工业大学新生赛决赛H题
- OSPF
- bzoj 4515: [Sdoi2016]游戏 树链剖分+线段树