问题:struct和class的区别,struct能否包含成员函数
来源:互联网 发布:知之深爱之切原文阅读 编辑:程序博客网 时间:2024/06/07 14:23
/********************************************************************************************文件说明: struct和class的区别时间地点: 陕西师范大学 问津楼 2017.5.18作 者: 九 月*********************************************************************************************//********************************************************************************************(一)问题在我具体说明struct和class区别之前,我首先抛出几个问题,这也是我第一次在阅读OpenCv源代码的时候所思考的问题: 1)struct是否有成员访问控制符public、protected、private? 2)struct能够包含成员函数?3)struct能够被其他结构体或者类继承?像class person:public human{};4)struct能否包含虚函数,实现多态?5)如果上面的功能struct都能够实现,那C++中为什么还要出现class?(或者说struct和class最本质 的区别是什么?)(二)解答 要回答上面的问题,首先必须设定一个前提条件,否则是说不明白的:1)C语言中的struct:如果您向那些C语言的初学者或者精通C语言但没有接触过C++的人抛出上面的问题, 它们可能会认为您有病,因为,我第一次遇见struct里面包含成员函数的时候,也是这样想的。但 是程序确实可以编译成功,但是就迷糊了,难道是我以前看的树错了?其实不是这样。 2)毫无疑问,C语言中的struct是不能包含成员函数的,不然很多源代码为什么要用函数指针去替代 成员函数,例如linux操作系统中的源代码,struct是没有包含成员函数的,它们如果想包含成员函 数的话,都是通过包含函数指针实现的。 3)因此,说struct中不能包含成员函数指的的c语言中的struct,不信的话,你可以写一个包含成员函数 的struct在ubuntu环境下,使用gcc编译一下,看能不能通过 1)那为什么struct有可以包含成员函数呢?这个struct指的是C++中的结构体2)C++在增加了class类型以后,为了兼容C语言,所以仍然保留了struct结构体类型,但是对struct类型 进行了扩充,经过扩充之后的struct就可以包含成员函数,实现继承、多态等。3)那么,既然struct可以实现与class相似的功能,它与class本质的区别在那块? struct和class最本质的区别只有一个:那就是struct结构体类型中的所有成员默认为public,而class 类型默认为private。除此之外,其他完全相同。*********************************************************************************************/
阅读全文
0 0
- 问题:struct和class的区别,struct能否包含成员函数
- C++ 中struct和class中成员函数的区别
- struct和class的区别
- struct和class的区别- -
- struct和class的区别
- class和struct的区别
- struct和class的区别
- struct和class的区别
- class 和 struct 的区别
- Struct 和 Class 的区别
- class和struct的区别
- Struct和Class的区别
- class和struct的区别
- struct和class的区别
- struct 和class的区别
- struct和class的区别
- Struct和Class的区别
- class 和 struct的区别
- 冒泡法对数排列(由小到大)
- easyui treegrid 获取子节点
- Visio画任意曲线
- 【cc2541历程】按键控制PWM调光
- Windows下amp平台搭建(图文教程)
- 问题:struct和class的区别,struct能否包含成员函数
- charles使用
- 研究生阶段如何学习、做研究
- js控制图片自动缩放,实现铺满盒子,不变形,完全局中
- oracle数据中记录被另一个用户锁住
- JQuery中的id选择器含有特殊字符时,不能选中dom元素!
- ajax开发:基于 Token 的身份验证
- Java:创造一个简单的死锁环境
- java concurrent 探秘