C++中的struct与class
2017-06-07 20:00
127 查看
struct与class使用{}初始化
struct与class若是定义了构造函数,则都不能用大括号进行初始化
struct若没有定义构造函数,可以用大括号初始化
class若没有定义构造函数,且所有成员变量都为public,可以用大括号初始化
struct在C与C++中的区别
在C中,struct是用户自定义数据类型(UDT);在C++中,struct是抽象数据类型(ADT),支持成员函数的定义
C中的struct是没有权限设置的,可以封装数据却不可以隐藏数据,而且成员不可以是函数;C++中struct增加了访问权限,且可以和类一样有成员函数
在C中struct不可以继承;C++中struct可以进行复杂的继承甚至多重继承,一个struct可以继承自一个class,反之亦可
在定义结构体与定义结构体变量时的区别:
C++中struct与class的区别
class中成员的默认访问权限与默认继承方式都是private的,而struct中则是public的
class作为关键字还用于定义模板参数,就像typename,但关键字struct不用于定义模板参数
除了这两点,struct和class基本就是一个东西,使用上没有任何其它区别。
参考链接
C++的类和C里面的struct有什么区别
struct 区别 在C 和C++ 中
struct与class若是定义了构造函数,则都不能用大括号进行初始化
struct若没有定义构造函数,可以用大括号初始化
class若没有定义构造函数,且所有成员变量都为public,可以用大括号初始化
struct在C与C++中的区别
在C中,struct是用户自定义数据类型(UDT);在C++中,struct是抽象数据类型(ADT),支持成员函数的定义
C中的struct是没有权限设置的,可以封装数据却不可以隐藏数据,而且成员不可以是函数;C++中struct增加了访问权限,且可以和类一样有成员函数
在C中struct不可以继承;C++中struct可以进行复杂的继承甚至多重继承,一个struct可以继承自一个class,反之亦可
在定义结构体与定义结构体变量时的区别:
// 定义C结构体 struct A{ int a; }; // 定义C结构体变量 struct A aa; // 或者 // 定义C结构体 typedef struct{ int a; }A; // 定义C结构体变量 A aa; // 定义C++结构体 struct A{ int a; }; // 定义C++结构体变量 A aa;
C++中struct与class的区别
class中成员的默认访问权限与默认继承方式都是private的,而struct中则是public的
class作为关键字还用于定义模板参数,就像typename,但关键字struct不用于定义模板参数
除了这两点,struct和class基本就是一个东西,使用上没有任何其它区别。
参考链接
C++的类和C里面的struct有什么区别
struct 区别 在C 和C++ 中
相关文章推荐
- C++中struct与class的异同
- c++中 class与struct的区别
- 在C中用struct实现C++中class的函数声明和定义
- 在c与c++下struct的区别,已经在c++下struct与class的区别。
- 研讨C++中struct与Class的区别
- C++中class与struct的区别
- [C++] 再谈Struct和Class的区别
- C++ 中 struct 与 class的区别
- C++中struct 和 class 的区别
- 这篇文章记录C++中struct与class的区别
- 标题:C++中struct与class的区别是什么?
- C++ 中的union、struct和class的异同
- C++中class与struct的区别
- C++中的struct和class
- C++中struct与class的区别是什么?
- C++中class与struct的区别
- 在C中用struct实现C++中class的函数声明和定义
- C++中class与struct的区别
- ·C++中struct与class结构的区别
- C++中struct和class的差别