C++程序设计教程--读书笔记 第十三章 抽象类

第十三章
 
一、知识点
1、一般地,一个容器,其元素是基类对象的指针或引用,才有多态可言,若没有指向基类的操作,子类就不能行使多态。(P444)
 
2、抽象类的用途就是被继承。定义抽象类就是在类定义中至少声明一个纯虚函数。所谓纯虚函数是指被标明为不具体实现的虚函数。纯虚函数的声明形式是在虚函数声明形式后跟“=0”。例如:(P446)
virtual void withdrawal(double amount) = 0;
 
3、抽象类不允许有实例对象,即不能由抽象类创建对象。抽象类作为基类为其他类服务。(P446)
 
4、只要子类中尚有未被覆盖定义的纯虚函数,那么,子类相对于抽象基类的抽象状态不变。(P447)
 
5、以抽象类做界面的抽象编程,需要以指针或引用方式传递一个多态的子类对象。这个任务由一个创建函数完成。否则,应用编程中免不了包含抽象类的子类的头文件,因而削弱了抽象编程性。(P466)
 
6、手柄:
class SonyHandle{
     Sony *sp;
public:
     Sony* operator->(){     return sp;}
     SonyHandle(Sony * pp): sp(pp){}
};
手柄类是专门拿来处理有多态表现的指针的,这些指针所指向的对象有一个共同点,都是通过某个创建函数来产生对象的,而且该对象的实体一般不复制,传递都是通过指针或引用。(P478)
posted on 2012-05-01 10:00  谷堆旁边  阅读(249)  评论(0编辑  收藏  举报