小编dje*_*990的帖子

c ++基类包含派生类的实例

我想知道是否有人可以向我解释我如何能够实现类似于此的东西:

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)

谢谢

c++ oop inheritance class

1
推荐指数
1
解决办法
2057
查看次数

标签 统计

c++ ×1

class ×1

inheritance ×1

oop ×1