私は約14年前に少しC++をプログラムしました。私は、主に使用している.NETなどの新しいテクノロジーに精通しました。
今、私は、C#とC ++の違いをよりよく見ることができるように、C++にしたい単純な電話リストのWindowsアプリケーションを書いています。
私はすでに違いに気づいたと言わせてください!Hehehe ...したがって、これらの違いの1つは、VisualStudioテンプレートから新しいC++クラスを作成するときに、.cppクラスファイルだけでなく、ヘッダーファイルも一緒に作成することです。
どうしてこんなことに?1つのクラスに対してclass1.hファイルとclass1.cppファイルを作成するのはなぜですか?
ヘッダーファイルは関数とオブジェクトのライブラリである可能性が高いことを覚えています。そう言えば、将来の再利用のために、正しく覚えていますか?
質問
- 新しいC++クラスを追加するときに2つのファイル(.hと.cpp)が作成されるのはなぜですか?
- ヘッダーファイルでメンバーを定義し、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 ++スキルを向上させるために、修正を手伝っていただければ幸いです。
私がそれを理解するのを手伝ってくれてありがとう。