ReadingLab / Discussion-for-Cpp

C++ 中文讨论区
MIT License
88 stars 63 forks source link

15.9节AndQuery和OrQuery是抽象基类么 #84

Open CruzLi opened 6 years ago

CruzLi commented 6 years ago

AndQuery和OrQuery都继承了BinaryQuery的rep纯虚函数,由抽象基类的概念定义,这两个类应该是抽象基类把?

ghost commented 4 years ago

《C++ Primer 5th》中文版

含有(或者未经覆盖直接继承)纯虚函数的类是抽象基类。p541

BinaryQuery不定义eval,而是继承了该纯虚函数。因此,BinaryQuery也是一个抽象基类,我们不能创建BinaryQuery类型的对象。 p570

class AndQuery:public BinaryQuery{ //p570
    //...
    //具体的类:AndQuery继承了rep并且定义了其他纯虚函数
    QueryResult eval(const TextQuery&)
};