打电话给另一个班级'成员函数中的构造函数

时间:2015-09-23 08:39:03

标签: visual-c++

我在课程'框中创建了一个指针数组。并将一个函数put_in_box称为新的东西' class obj并指向它的索引指针。运行本地调试器时,提示错误C2514'事情':类没有构造函数。如果我删除了行" index [j] = new things(j);"在框类定义中,我将能够通过使用" blue_box.index 1 = new things(2);"来获得预期结果。在主要功能。

我的问题是:这个类有一个构造函数,为什么我不能从另一个类调用它'会员功能?有没有办法做同样的工作?

#include <iostream>
using namespace std;

class box;
class things;

class box {
public:
    things *index[50];[![enter image description here][1]][1]
    void put_in_things(int j) {
        index[j] = new things(j);
    }

};



class things {
public:
    int i;
    things(int i_) :i(i_) { cout << "things constructed" << endl; }
    things(things&c) {
        i = c.i;
    }
    ~things(){}
};


int main() {

    box blue_box;
    blue_box.put_in_things(1);

    blue_box.index[1] = new things(2);

    return 0;

0 个答案:

没有答案