济南三庆燕柳园:C有了结构为什么还需要类?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 17:18:25
我是个C++初学者,现在学到类,想了解一下结构和类有什么区别?它们都有什么好处?好像类这样设定一个private的成员有什么好处?不能被其它函数调用,而直接由public来调用不会很麻烦吗?可以举些例子吗?谢谢!

struct和class是有区别的。
struct默认情况下成员是public。class默认情况下成员是private(当然你应该知道把成员设为public或者private,而不是依赖默认属性)
struct保证成员按照声明顺序在内存中存储。class不保证等等
而它们都可以继承,实现多态等。但也有少许区别。比如:

struct A { };
class B : A{ }; //private继承
struct C : B{ }; //public继承

这是由于class默认是private,struct默认是public。

一般说来,struct和class可以换用(当然要注意一些语法问题)。
而struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体,对私有成员进行保护,还提供与外界的接口。从习惯上更喜欢用class。

很多时候, 这些东西并不是说有什么效率上的提高
一个软件,很大的时候
不是一个脑子 一个线路就能想到底的
很多东西是为了帮助分析问题 解决问题
而不是为了程序效率

至于private的好处 真不好讲... @_@