抽象基类和纯虚函数

来源:互联网 发布:美国队长身材 知乎 编辑:程序博客网 时间:2024/06/04 18:27

在设计时,常常希望基类仅仅作为其派生类的一个接口。这就是说,仅想对基类进行向上类型转换,使用它的接口,而不希望用户实际地创建一个基类的对象。要做到这点,可以在基类中加入至少一个纯虚函数,来使基类成为抽象类。纯虚函数使用关键字virtual,并且在其后面加上=0。如果某人试着生成一个抽象类的对象,编译器会制止他,这个工具允许生成特定的设计。
当继承一个抽象类时,必须实现所有的纯虚函数,否则继承出的类也将是一个抽象类。创建一个纯虚函数允许在接口中放置成员函数,而不一定要提供一段可能对这个函数毫无意义的代码。同时,纯虚函数要求出的类对它提供一个定义。纯虚函数总是变成“哑”函数。
建立公共接口,也就是纯虚函数抽象类。它能对于每个不同的子类有不同的表示,它建立一个基本的格式。