为了账号安全,请及时绑定邮箱和手机立即绑定

class和struct有什么区别吗?

class和struct有什么区别吗?

正在回答

3 回答

http://c.biancheng.net/view/2235.html

C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。

C++中的 struct 和 class 基本是通用的,唯有几个细节不同:

  • 使用 class 时,类中的成员默认都是 private 属性的;而使用 struct 时,结构体中的成员默认都是 public 属性的。

  • class 继承默认是 private 继承,而 struct 继承默认是 public 继承(《C++继承与派生》一章会讲解继承)。

  • class 可以使用模板,而 struct 不能(《模板、字符串和异常》一章会讲解模板)。


C++ 没有抛弃C语言中的 struct 关键字,其意义就在于给C语言程序开发人员有一个归属感,并且能让C++编译器兼容以前用C语言开发出来的项目。


0 回复 有任何疑惑可以回复我~

struct和数组很类似,但是数组只能存放相同类型的数据 比如int a[12];

而struct可以存放不同类型的数据,比如struct person{

int age;

double height;

char name[23];

}

0 回复 有任何疑惑可以回复我~

class是类,类内可以放函数,struct本身就是函数,只能定义变量不能放函数

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103411    人
  • 解答问题       701    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

class和struct有什么区别吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信