C++学习(四六零)C++类和结构体的关系

Posted hankern

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习(四六零)C++类和结构体的关系相关的知识,希望对你有一定的参考价值。

1、相同点

C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。
struct能包含成员函数吗? 能!
struct能继承吗? 能!!
struct能实现多态吗? 能!!!

2、不同点

结构体中的数据默认方式是public的,而类是private的

结构体中的继承默认方式是public的,而类是private的

“class”这个关键字还用于定义模板参数,就像“typename”。但关键字“struct”不用于定义模板参数。

结构体数组效率比类数组效率高(不需要装箱合拆箱)。结构体集合(如Hashtable)效率比类集合效率低。集合的元素是引用类型,所以结构体必须进行装箱和拆箱处理。所以类在大的集合中更有效率。

结构体是struct为关键字起手的定义,而类是class。

Struct结构体是“复合类型”,其功能等同与基本的int,double的用法,尽管struct也可以写方法,但是不赞成这样做。因为struct的引入是为了解决“多类型”的问题(比如一个学生记录包含id,name等不同基本类型的组合,单个int,string无法满足,所以才出现了struct)。类是组成面向对象编程的基础,功能远远大于结构。

以上是关于C++学习(四六零)C++类和结构体的关系的主要内容,如果未能解决你的问题,请参考以下文章

C++——class类和struct结构体的唯一区别

C++中类和结构体的区别

C++ 类和对象上

C++学习(三六零)bash常用命令

C++学习(二六零)华为正式发布鸿蒙手机操作系统

学C++真的很无聊吗?