大約14年前,我編寫了一些C++。我熟悉.NET等與我一起工作的大多數新技術。爲什麼在創建新的C++類時創建了兩個文件(.h和.cpp)?
現在,我正在編寫一個simlpe電話列表Windows應用程序,我想使它成爲C++,這樣我可以更好地查看C#和C++的區別。
讓我說,我已經注意到了一個區別! Hehehe ...因此,這些區別之一是,當從Visual Studio模板創建一個新的C++類時,它不僅會創建.cpp類文件,還會創建一個頭文件。
這是爲什麼?爲什麼要爲一個類創建一個class1.h和一個class1.cpp文件?
我記得頭文件可能是函數和對象的庫,如果我們可以這樣說,爲了將來的重用,我記得沒有錯嗎?
問題
- 爲什麼有兩個文件(.H和.cpp)添加一個新的C++類時產生的?
- 我應該在頭文件中定義成員並在cpp文件中定義函數核心嗎?
- 如果不是2,那麼這個特定場景中的頭文件是什麼?
編輯#1
然後應我的代碼是這樣的?
// Customer.h header file
ref class Customer {
private:
char* _number, _name;
long _phoneNumber;
public:
char[] get_number();
void set_number(char* number);
char[] get_name();
void set_name(char* name);
long get_phoneNumber();
void set_phoneNumber(long phoneNumber);
void set_name(char* name);
}
然後:
// Customer.cpp
#include <Customer.h>
char[] Customer::get_number() {
return _number;
}
void Customer::set_number(char* number) {
if (number != null && sizeof(number) < 1) return;
_number = number;
}
// And the other members here...
現在我知道,有大部分是很多在我的代碼錯誤。如果你幫我糾正錯誤,我會很高興,這樣我就可以提高我的C++技能。
感謝您幫助我找出答案。
這是C++/CLI - 你想使用本機C++還是託管C++代碼?有很大的不同。 – 2010-12-06 20:31:42
@Steve:謝謝你向我指出這一點。其實我不能說。我猜想原生C++對我來說更適合在C++中充分使用,這樣我就可以快速啓動並運行,從而有效地開發應用程序,對嗎?還是值得的? – 2010-12-06 20:43:14