编辑尚未定义的类的实例

时间:2018-02-05 10:44:40

标签: c++ function class

是否可以编辑尚未在函数中定义的对象?例如,如果我在一个文件中有一个类,它将一个添加到一个数字:

class MyClass
{
    private:
       int i;

    public:
        MyClass()
        {
            i = 0;
        }

        int addOne()
        {
            i += 1;
            return i;
        }
};

在另一个文件中,导入该类。调用add函数时,它会调用类中的addOne函数:

#include "MyClass.h"

void add()
{
    a.addOne();
}

int main()
{
    MyClass a;
    add();

    return 0;
}

当我编译它时,它返回错误

  

错误:在此范围内未声明'a'

有什么方法可以解决这个问题吗?

我读过的网站,但没有帮助解决我的问题:

1 个答案:

答案 0 :(得分:2)

你想要做的是这样的事情:

void add( MyClass & a)
{
    int num = a.addOne();
}

int main()
{
    MyClass newObj;
    // passing the new object to add
    add(newObj);

    return 0;
}
  1. 方法 add()不知道您尝试使用的“a”,因此会给您一个错误。
  2. 方法 addOne()的返回类型为int,因此当您使用返回值的方法时,可以使用它来执行某些操作。