私はOOベースのプログラミングが初めてなので、ばかげた質問です:
algorithmObjectというクラスを作成しました。基本的に、それに関連する一連の機能があります。
QT GUI を作成しました。さまざまな onClick イベントでメンバー関数にアクセスできるようにするため、algorithmObject 型のパブリック オブジェクトを作成したいと考えています。
したがって、私の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 ファイルの他の関数からアクセスできないことです...