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++类和结构体的关系的主要内容,如果未能解决你的问题,请参考以下文章