C类、B类继承A类,A类有纯虚函数是抽象类,C类、B类不是抽象类,C类、B类如何对A类中的纯虚函数进行声明?下面哪种写法正确?还是都正确?两种写法我都见过,有什么区别呢
第一种写法:
class A {
public:
virtual void pureVirtualFunction() = 0; // 纯虚函数
};
class B : public A {
public:
void pureVirtualFunction() override; // 声明并重写纯虚函数
};
class C : public A {
public:
void pureVirtualFunction() override; // 声明并重写纯虚函数
};
第二种写法:
class A {
public:
virtual void pureVirtualFunction() = 0; // 纯虚函数
};
class B : public A {
public:
virtual void pureVirtualFunction() override; // 声明并重写纯虚函数
};
class C : public A {
public:
virtual void pureVirtualFunction() override; // 声明并重写纯虚函数
};