c和c++结构体区别
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C和C++中结构体的区别主要有以下几点:
1、C中结构体不能有成员函数,而C++中可以有,甚至可以有虚函数。所以C中不存在构造函数、虚构函数和this指针。
2、C结构体只有public一种权限,而C++结构体有public、private、protect三种权限。
3、C结构体没有继承关系,而C++结构体可以从类或者其他结构体继承而来。
4、C结构体不能在结构体中初始化成员变量,而C++结构体可以。
5、C结构体在定义时除非使用typedef,否则之后定义变量都必须跟上struct + 结构体名,而C++结构体可以直接使用结构体名,不受限制。
6、C结构体不能有静态成员变量,而C++结构体可以有。
7、C结构体的空结构体sizeof为0,C++的sizeof为1。
8、数据隐藏,C结构体不存在数据隐藏这个概念,C++结构体有,因为C++面向对象。
9、访问修饰符,C中没有访问修饰符,因为这些修饰符不被语言支配,C++中有,因为它是C++内置的。
学习编程语言,推荐北京尚学堂,我们独特的七大优势,会带给你不一样的编程学习体验。
1、C中结构体不能有成员函数,而C++中可以有,甚至可以有虚函数。所以C中不存在构造函数、虚构函数和this指针。
2、C结构体只有public一种权限,而C++结构体有public、private、protect三种权限。
3、C结构体没有继承关系,而C++结构体可以从类或者其他结构体继承而来。
4、C结构体不能在结构体中初始化成员变量,而C++结构体可以。
5、C结构体在定义时除非使用typedef,否则之后定义变量都必须跟上struct + 结构体名,而C++结构体可以直接使用结构体名,不受限制。
6、C结构体不能有静态成员变量,而C++结构体可以有。
7、C结构体的空结构体sizeof为0,C++的sizeof为1。
8、数据隐藏,C结构体不存在数据隐藏这个概念,C++结构体有,因为C++面向对象。
9、访问修饰符,C中没有访问修饰符,因为这些修饰符不被语言支配,C++中有,因为它是C++内置的。
学习编程语言,推荐北京尚学堂,我们独特的七大优势,会带给你不一样的编程学习体验。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询