第十二章:类

1:数据抽象,数据封装----类

2:数据抽象技术是接口,实现---分离;低层次的元素组合成高层次实体技术(例如函数)。

3:利处:一是避免类内部无意破坏对象状态的用户级错误;二是可以根据需求完善实现,而不需要改变用户级代码。

4:内联函数是代码展开效果,所以使用处必须是定义处-即可见,类里默认定义函数则是内联函数,若体外定义,体内声明,则需要使用出定义函数;

5:不能重新定义;.h文件中不能定义函数,除非它是内联函数。

6:使用引用,或者指针;或者是在定义对象时,该类必须是定义完整的;否则出错。

7:this指针必须使用,在函数返回一个对象本身的引用时;

8:可变数据成员,不管是在常数函数还是非常函数都可以,改变数据。且它的周期和对象周期一致

9:类的函数的参数类型中,若是在内里面用typedef替换了,在体外依然不需要作用域,而是返回值类型,则需要作用域;故而函数而言,参数定义是属于函数内部,而返回值属于函数外部,相当于外口。故而只要函数有作用域了,则函数内就不需要说明了。

10:除了类定义中,是成员数据优先,查找;其他按照声明顺序查找;另外主语类型的声明定义,必须不能同名,不能有覆盖效果。

11:常引用,赋值给一个变量,是得看这个赋值操作过程,默认都是将右边的对象复制给左边,没有所谓的引用效果,除非再引用。

12:对于任何const,引用,没有默认的类类型成员,必须显示初始化,只能是用初始化列表。

13:列表中次序没有用,实际初始化次序是按照定义来的。

14:const static数据成员在类的定义体中初始化时,该数据成员仍必须在类的定义体之外进行定义;这句话有错,不是必须,因为不定义也可以通过,例如VS2008中;且定义反而不通过在VC2003中。

posted @ 2014-11-05 09:27  miner007  阅读(128)  评论(0编辑  收藏  举报