我是基于 OO 的编程新手,所以这是一个愚蠢的问题:
我创建了一个名为algorithmObject的类。基本上,它有一堆与之相关的功能。
我创建了一个 QT GUI,我想创建一个 algorithmObject 类型的公共对象,因为我希望能够访问各种 onClick 事件中的成员函数。
所以在我的GUI.h文件中,我有:
public:
algorithmObject Object1;
在我的GUI.cpp文件中,我试图通过以下方式对其进行初始化:
Object1 = algorithmObject();
我正在使用 MS VS 2010,但出现编译器错误:
错误 C1903:无法从先前的错误中恢复;停止编译错误 C2065:'Object1':未声明的标识符
如果我不包括:
Object1 = algorithmObject();
在我的 GUI.cpp 文件中,只希望 GUI 构造函数为我创建对象,我得到了同样的错误。
我想,我没有以某种方式在 .cpp 文件中正确初始化我的对象。有人可以建议什么是正确的过程吗?
我的 algorithmObject 文件概述如下:
算法对象.h
#include <iostream>
#include <fstream>
class algorithmObject
{
public:
algorithmObject (void);
~algorithmObject (void);
void function1 (int parameter);
void function2 ();
}
算法对象.cpp
#include "algorithmObject.h"
algorithmObject::algorithmObject(void)
{
}
void algorithmObject::function1(int parameter)
{
//do something
}
void algorithmObject::function2()
{
//do something
}
algorithmObject::~algorithmObject(void)
{
}
但是,如果我不在 GUI.h 文件中包含任何定义,而只是在 GUI 中的单个函数 (algorithmObject Object1;) 中定义我的 algorithmObject,我就能够正确访问我的类的功能。但问题是该对象是该函数的本地对象,我无法从 GUI.cpp 文件的任何其他函数访问它,这对我来说非常重要......