這可能是一個愚蠢的問題。但是我沒有收到這個計劃中的概念問題。概念混亂
我想通過類兒童指針在全球的功能和訪問,從項目的不同部分的指針對象,只需要包含Child.h
問題:以下問題不能正常工作當我做get_Child() - > number_1在主。
解決方案:如果我在包括主的Child.cpp,和內聯構造或 如果我在Child.h聲明構造代替Child.cpp
的查詢請求。這種行爲的原因是什麼?一種方法,我怎麼能在Child.cpp聲明構造和沒有包括Child.cpp在main.cpp中
的main.cpp
#include <iostream>
#include "Child.h"
//#include "Child.cpp"
using namespace std;
int main(){
Child *pC = new Child();
cout << "direct = " << pC->number_1 << endl;
cout << "with function = " << get_Child()->number_1 << endl;
}
Child.h
#ifndef CHILD_H_
#define CHILD_H_
class Child;
static Child * pointer_Child;
inline void save_Child(Child * p_C){
pointer_Child = p_C;
}
inline Child * get_Child(){
return pointer_Child;
}
class Child {
public:
Child();
//Child(){
// this ->set_Child();
//}
void set_Child(){
save_Child(this);
}
int number_1 = 10;
};
#endif /* CHILD_H_ */
Child.cpp
#include "Child.h"
//inline Child::Child(){
// this ->set_Child();
//}
Child::Child(){
this->set_Child();
}
使用鏈接器。我想不出一本初學C++的書,它不是從描述構建程序的三個部分開始的:預處理器,編譯器,鏈接器。 –