0
我試圖做一個可以返回其他類值的C++類函數。如果類A是首先定義的,但是我有更多的代碼不想破解,代碼將起作用。我想我需要一些A類的前向聲明。使用函數和聲明順序返回其他類變量
我需要什麼樣的前向聲明來完成這項工作?我所有的代碼都在一個文件中。如果我正確地將我的類拆分爲多個文件並將它們包含到項目中,或者它對VC++編譯器有什麼影響,這個問題是否會消失?
下面的半僞代碼。
// forward declaration
class A;
// class deifinitions
class B {
private:
int testvalue;
public:
void settestvalue(A &Aobj);
}
void B::settestvalue(A &Aobj) {
testvalue = Aobj.settestvalue();
}
class A {
private:
int test = 10;
public:
int testvalue();
};
int A::testvalue() {
return test;
}
// mainloop
A Aobj;
B Bobj;
Bobj.settestvalue (Aobj);
只需在類A的定義後面加上'void B :: settestvalue(A&Aobj)'*的定義即可。 – juanchopanza
有一些其他的類,過了一段時間,排序將變得不可能。還是我誤解了? =) – John
這是一個很好的暗示,你不應該在一個文件中包含所有內容。製作單獨的標題和實施文件。 – juanchopanza