C++类和结构体的区别
2016-06-12 22:03
323 查看
在C中,结构体只能有变量不能有方法。
在C++中,实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的。除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型。
C++同时包含这两个等价的关键字struct与class基于3个方面的原因。
- 第一,加强结构的能力。在C中,结构提供了一种数据分组方法,因而让结构包含成员函数是一个小小的改进。
- 第二,由于类与结构是相互关联的,所有现有C代码到C++的移植变得更容易。
- 第三,由于类与结构的等价性,提供两个不同的关键字可以使类定义自由发展,为了保持C++与C的兼容性,结构定义必须始终受它的C定义的结束。
在C++中,实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的。除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型。
C++同时包含这两个等价的关键字struct与class基于3个方面的原因。
- 第一,加强结构的能力。在C中,结构提供了一种数据分组方法,因而让结构包含成员函数是一个小小的改进。
- 第二,由于类与结构是相互关联的,所有现有C代码到C++的移植变得更容易。
- 第三,由于类与结构的等价性,提供两个不同的关键字可以使类定义自由发展,为了保持C++与C的兼容性,结构定义必须始终受它的C定义的结束。
相关文章推荐
- C++:文件加密(凯撒加密、栅栏加密、异或加密四方加密、Base64加密)
- 学习C语言指针和链表的体会
- 推荐参考vim配置文件-c/c++
- C语言二级指针的三种模型
- 【c++】lambda表达式
- C语言URL解析器(代码分享) 3ff8
- C++高级排序算法详解
- C语言URL解析器(代码分享)
- c++实现Face++ API的调用
- [C++ 面试基础知识总结] 类
- Emacs中实现C/C++函数列表显示
- 步步为营<三> C语言 语句和表达式
- c++11多线程简介
- C/C++,运算符重载
- GeekBand c++學習筆記之五(對象模型與動態綁定的討論)
- C++在单片机上面的啪啪啪
- 循环队列 作为消息队列
- const 在基本语言中的总结
- 【C++】第1章 在VS2015中用C++编写控制台应用程序
- C++STL 之map