0

除了构造函数之外,是否可以在类的方法中实例化对象成员变量。我想在不使用指针的情况下执行此操作,因为我试图让我的代码使用更多的堆栈内存。(我的教授是这么说的)

我以前查过这个,我发现最接近的是extern。这听起来有点脏,我不确定这是否正是我想要的。

这就是我正在尝试做的事情,并且我正在尝试在没有指针的情况下做到这一点:

class A
{
    private:
        B var;
    public:
        A();
        void setVar();
};

A::A()
{
}

void A::setVar()
{
    var = B(1,2);
}

class B
{
    public:
        B();
        B(int a, int b);
};

B::B()
{
}

B::B(int a, int b)
{
}
4

1 回答 1

2

当您在堆栈上创建对象时,将在堆栈上自动创建不是指针的成员变量。(也就是说,它们将成为堆栈上对象的一部分。)您可以通过至少两种方式将它们初始化为对象构造函数中的特定值:

A::A() : var (1,2)
{
}

或者

A::A()
{
    var = B (1,2);
}
于 2013-11-13T04:03:21.960 回答