複数のファイルでクラス共有 – プログラミング – Home

複数のファイルでクラス共有
 
通知
すべてクリア

[解決済] 複数のファイルでクラス共有


きー
 きー
(@きー)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

こんばんわ。VC++で幾度のファイルに分けていたら、クラスの多重定義らしきものがでてしま
います。同じクラスを定義された、a.h と b.h を c.h でinclude するとすでに定義さ
れてますよエラーがでてしまいます。そのクラスはa.hで定義して、b.hはa.hをインクルードし
てるのですが、それでもだめみたいです。a.hとb.hを一緒に定義できなくなりました。関
数のプロンプトの宣言らしきものはないでしょうか? いまだみたことがありません。それとも
なにかうまい管理方法とか.. どうかご教授お願いします。


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320

返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 23年前
投稿: 310
 

用語が???
定義と宣言を混同していませんか?

//-----
class CMyClassA(){
int m_nID;
public:
CMyClassA();
~CMyClassA();
void incl();
int get();
}
とかいうのが、クラスの宣言。

//-----
CMyClassA::CMyClassA(){
m_nID = 0;
}

CMyClassA::~CMyClassA(){
}

void CMyClassA::incl(){
++m_nID;
}

int CMyClassA::get(){
return m_nID;
}
とかいうのが、クラスの定義(実装)。

//-----
通常は、
[a.h]
#ifndef my_a_h_defined
#define my_a_h_defined

//クラスの定義など

#endif

とかします。

通常、my_a_h_defined とかの名前は、UUID文字列を生成し、それを使用します。
が、個人で練習用であるなら、そこまでこだわる必要は無いでしょう。

UUIDについては、検索するなり、ご自分で調べてください。


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 23年前
投稿: 310
 

あらら、書いているうちに先越されたみたい(^_^;)


返信引用
きー
 きー
(@きー)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

なるほど!YuO さん RAPT さんほんとに素早い回答ありがとうございます!
#ifdef でいけます。ありがとうございました。


返信引用
きー
 きー
(@きー)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

ああ、UUIDってGUIDのことかぁ。おっきなシステム構築するとき意外はつかわんだろうな。ひ
とつ勉強になりました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました