c++中, 关于抽象类的纯虚函数返回值的疑问

2025-01-04 08:25:43
推荐回答(2个)
回答1:

1.抽象类的设计目的本来就是接口继承。不管是返回值还是入口参数,限定到具体的类都是不好的设计。
2.能接受父类指针的地方一定能接受子类指针(LSP原则)。
3.如果非要限定子类。加上子类前置声明。再返回指针。

本来想说直接返回父类指针或者引用就可以了。目测LZ还没明白继承。

回答2:

class B;//提前声明
class A
{
public:
B* hanshumingzi()= 0;
};

class B : public A{};