在哪里声明需要多个对象可访问的数据?

时间:2018-01-27 04:51:17

标签: c++ class oop object polymorphism

我刚开始使用多个对象/类,我很难搞清楚如何正确实现数据结构

假设我有一个基类

class control
{
    protected:
              char* location
              /* node** adjacency_list; This doesn't work  */

};

和两个不同的派生类

class carA:public control      
{

}; 

class carB:public control
{

};

node类。

当我尝试根据adjacency_list需要指向正确的内存空间且必须可用的位置来实现类似线性链表(图形)数组的2D-ish结构时,我的问题就开始了所有物体。

  • 如果我在基数处将adjacency_list指针初始化为NULL 类构造函数,它将被设置为每个派生类对象 再次为NULL。

  • 如果我在基类构造函数中创建数组,它将创建一个 每个派生类对象的新数组。

我试图在派生类初始化列表中找到使用基类的复制构造函数的方法,但我无法证明/可视化一种有效的方法。

除了在全局声明它之外,声明这个指针的简单,明智的方式是什么/哪里?

我知道这可能非常微不足道,但我现在看不到它。

0 个答案:

没有答案