C++ベース(二)
2937 ワード
C++基礎(二)iwehdioのブログ園:https://www.cnblogs.com/iwehdio/
1、クラスとオブジェクト
プログラムは異なる種類の多くのオブジェクトが互いに協力して完成する.どのようなオブジェクトがありますか?オブジェクトのタイプは?相手は直接どんな関係がありますか. C++でクラスを定義する方法:structキーまたはclassキー.(structのメンバーデフォルトpublic,classのメンバーデフォルトprivate) クラスタイプのポインタ変数:Tはクラスタイプであり、T*はTポインタタイプである.T*変数はクラスオブジェクトを指すことができます. は、動的に分布するオブジェクトを指します. クラスは、メンバー関数を定義することもできますが、役割ドメイン thisポインタ:メンバーメソッドを呼び出すオブジェクトを指します. 一般メンバー変数はprivateに設定され、getおよびset関数によって取得および変更されます. コンストラクション関数:オブジェクトの作成時に自動的に呼び出され、関数名とクラス名が同じで、戻りタイプの関数がありません.デフォルトのコンストラクション関数は
2、重荷演算子の再ロード: cout<<実際の完全な関数名は: cin>>同様に、studentのメンバー変数を変更するために、アプリケーションリファレンスを入力します. friendキーワード:外部関数はクラスのプライベートメンバーにアクセスできません.friendキーワードでクラスの友元関数であることを宣言できます. 下付き演算子はクラスに再ロードする必要があります.すなわち、メンバーメソッド: コピーコンストラクション関数:1つのオブジェクトで別のオブジェクトに値を割り当てます. では、デフォルトのコピーコンストラクタが自動的に生成され、ハードコピーが実行されるように定義されていません. ハードコピーにより、2つのオブジェクトが同じメモリを指し、そのうちの1つが変更され、もう1つが変更されます. 参照データ型のメンバー変数について、コピーコンストラクタを書き換える必要がある: 構造関数:関数の実行後にメモリを解放します. パラメータなしでタイプが返されません. デフォルト構造関数: には参照データ型があり、deleteでメモリを解放します.
iwehdioのブログ園:https://www.cnblogs.com/iwehdio/
1、クラスとオブジェクト
プログラムは異なる種類の多くのオブジェクトが互いに協力して完成する.どのようなオブジェクトがありますか?オブジェクトのタイプは?相手は直接どんな関係がありますか.
class student {
public: string name;
public: double score;
public: void print(){
cout<
student stu;
student *p = &stu;
// :
(*p).name = "B"; // *
p->score = "C"; // ->
student *p = new student;
p->name = "D";
delete p;
void student::print(){}
を宣言します.student(){}
です.コンストラクション関数をカスタマイズした場合、デフォルトのコンストラクション関数は自動的に生成されません.2、重荷
operator<。
ostream& operator<
istream& operator>>(istream &in, student &s){
cin >> s.name >> s.score;
return in;
}
cin >> stu;
friend ostream& operator<
class point {
public:
double x, y;
//
double operator[](int n) const { // ,
if(n == 0){
return x;
} else {
return y;
}
}
// , const
double& operator[](int n){
if(n == 0){
return x;
} else {
return y;
}
}
}
class String {
char *data;
int n;
public:
String(const String &s){
data = s.data;
n = s.n;
}
}
String(const String &s){
data = new char[s.n + 1];
n = s.n;
for(int i=0;i
~String(){}
.~String(){
if(data)
delete[] data;
}
iwehdioのブログ園:https://www.cnblogs.com/iwehdio/