明天把“类”这一章的笔记写完,就跟我的学习进度同步了。最近状态很差,上课都是在画重点,没办法看书熬课上时间了 进度也变慢了,原先一天20页,这星期总共看了20页,看完16章就可以了。下星期开始复习,计划一周更新一章。25号结束整个学习笔记。
谢谢大家的关注。
谢谢大家的关注。
程序代码:
2011.6.1 第12章 类 成员可以是数据、函数或类型别名。 构造函数初始化列表跟在构造函数的形参表之后,并以冒号开头。 在类内部,声明成员函数是必需的,而定义成员函数则是可选的。 类内部定义的函数默认为inline。 成员函数有一个附加的隐含实参——this指针。 const必须同时出现在声明和定义中。 类背后蕴含的基本思想是数据抽象和封装。 封装是一项将低层次的元素组合起来形成新的、高层次实体的技术。 一个访问标号可以出现的次数通常是没有限制的。 数据抽象和封装的两个重要有点: 避免类内部出现无意的、可能破坏对象状态的用户级错误。 随时间推移可以根据需求改变或缺陷报告来完善类实现,而无须改变用户级代码。 类可以定义自己的局部类型名字,将这个类型设为public,就允许用户使用这个名字。 成员函数只能重载本类的其他成员函数。 不在类定义体内定义的inline成员函数,其定义通常应放在有类定义的同一头文件中。 对于不完全类型,不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或者用于声明使用该类型作为形参类型或返回类型的函数。 定义类型时不进行存储分配。 因为在类定义之后可以接一个对象定义列表。定义必须以分号结束。 成员函数不能定义this形参。 当我们需要将一个对象作为整体引用而不是引用对象的一个成员时,需要显式引用this。 const成员函数只能返回*this作为一个const引用。 可变数据成员永远都不能为const,const成员函数可以改变mutable成员。 定义类型的成员,如Screen::index(称为完全限定名),使用作用域操作符来访问。 返回类型出现在成员名字前面,如果返回类型使用由类定义的类型,则必须使用完全限定名。 在C++程序中,所有名字必须在使用之前声明。 如果类作用域中使用的名字不能确定为类成员名,则在包含该类或成员定义的作用域中查找,以便找到该名字的声明。 一旦一个名字被用作类姓名,该名字就不能被重复定义。 尽管类的成员被屏蔽了,但仍然可以通过用类名来限定成员名或显式使用this指针来使用它。 尽管全局对象被屏蔽了,但通过用全局作用域确定操作符(::)来限定名字,仍然可以访问。