C++抽象基类
有时候我们需要表示一种抽象的概念,但是具体的实现方式可以有很多种,这个时候我们可以使用纯虚函数定义这种抽象概念,含有或未经覆盖直接继承纯虚函数的类时抽象基类。抽象基类负责定义接口,我们不能直接创建一个抽象基类的对象,但是可以创建派生类的对象,前提是这些类覆盖了纯虚函数。
通过在虚函数声明处分号之前添加=0将虚函数定义为纯虚函数,纯虚函数可以有定义,但是函数体必须定义在类的外部。
class Person
{
public:virtual void run() = 0;
};void Person::run()
{std::cout << "person run..." << std::endl;
}class Worker :public Person
{
public:virtual void run() override{Person::run();std::cout << "worker run..." << std::endl;};
};int main(void)
{Person* person = new Worker();person->run();system("pause");return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
