如何在父类中创建子类的对象

时间:2013-11-21 17:45:59

标签: c++ oop ooad

我正在用c ++编写一段代码,但实际上无法解决一个问题,我试图在父类中创建子类的对象,但是这给了我一个错误,我继承了父类“undefined”基类“任何出路?

#include "Item.h"
#include "Borrower.h"
#include "Librarian.h"
#include "Clerk.h"
class lib_management_system
{
protected:
    item *items_array;
    borrower *borrower_array;
    librarian *librarian_array;
    clerk *clerk_array;
    int items_count;
    int borrower_count;
    int clerk_count;
    int librarian_count;
//public members
};

其中item,borrower,librarian和clerk是此父类的子类

1 个答案:

答案 0 :(得分:3)

这通常是糟糕设计的标志......

唯一的想法是你能做到并且我甚至会建议反对这个,除非在一些资源管理案例中,也许):

// Forward declaration
class Child;

class Parent
{
 public:
  // Parent code
  // ...


  Child* _child;
};

class Child : public Parent
{
};