Cod*_*lus 0 c++ inheritance class
是否有可能有一个基类具有派生类的实例作为基类函数之一的参数?例如:
class A
{
virtual void foo(B b[]);
};
Class B: public A
{
void foo(B b[]);
};
Run Code Online (Sandbox Code Playgroud)
这合法吗?A类还需要包含B类的头文件,这也有问题吗?
通过前瞻声明可以:
class B;
class A
{
virtual void foo(B b[]);
};
Class B: public A
{
void foo(B b[]);
};
Run Code Online (Sandbox Code Playgroud)
但这是一个主要的代码味道.请说明你想要实现的目标,这看起来像是一个错误的设计.
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |