我想知道是否有人可以向我解释我如何能够实现类似于此的东西:
namespace advanced_cpp_oop
{
class A
{
B b;
};
class B : public A
{
};
}
int main()
{
}
Run Code Online (Sandbox Code Playgroud)
基类的实例可以包含派生类的实例吗?编译上面的代码时,会生成以下错误:
g++ advanced_cpp_oop.cpp
advanced_cpp_oop.cpp:8:5: error: ‘B’ does not name a type
Run Code Online (Sandbox Code Playgroud)
编译的(几乎)等效的Java代码是:
public class AdvancedCppOop
{
public static void main(String[] args)
{
A a;
}
}
class A
{
B b;
}
class B extends A
{
}
Run Code Online (Sandbox Code Playgroud)
谢谢