介绍
这篇文章将为大家详细讲解有关c++类和结构体有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
c++中保留了C语言的struct关键字,并且加以扩充。在C语言中,结构只能包含成员变量,不能包含成员函数。而在c++中,struct类似于类,既可以包含成员变量,又可以包含成员函数。
c++中的结构体和类基本是通用的,唯有几个细节不同:
- <李>
使用类时,类中的成员默认都是私人属性的;而使用结构体时,结构体中的成员默认都是公共属性的。
李> <李>类继承默认是私人继承,而结构继承默认是公共继承。
李> <李>类可以使用模板,而结构不能。
李>c++没有抛弃C语言中的struct关键字,其意义就在于给C语言程序开发人员有一个归属感,并且能让c++编译器兼容以前用C语言开发出来的项目。
在编写c++代码时,我强烈建议使用类来定义类,而使用结构体来定义结构体,这样做语义更加明确。
使用结构体来定义类的一个反面教材:
# include & lt; iostream> using namespace 性传播疾病; struct 学生{ 学生才能(char *名,int 年龄,float 分数); void 才能显示(); char 才能;* m_name; int 才能;m_age; float 才能;m_score; }; 学生:学生(char *名字,,int 年龄,float 分数):,m_name(名字),m_age(年龄),m_score(分数){,} void 学生::显示(){ cout<才能;& lt; m_name<& lt;“的年龄是“& lt; & lt; m_age<& lt;“成绩是“& lt; & lt; m_score<& lt; endl; } int main () { Student 才能;斯图(“小明“,,15日,92.5度); stu.show才能(); Student 才能;* pstu =, new 学生(“李华“,,16日,96); pstu →,才能显示(); return 才能;0; }
运行结果:
引用>
小明的年龄是15日成绩是92.5
李华的年龄是16日成绩是96这段代码可以通过编译,说明struct默认的成员都是公共属性的,否则不能通过对象访问成员函数。如果将struct关键字替换为类,那么就会编译报错。
关于“c++类和结构体有哪些区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。
c++类和结构体有哪些区别