' P '

whatever I will forget

C++ クラス定義とオブジェクト生成

さて、ようやくオブジェクト指向
普段が化石言語なもので、なんかい学んでも忘れますが今回こそは///

クラス定義

class Sample {
    //atributes
    int int_sp;
    double double_sp;
    string st; 

    // functions
    void print_int(int);
    void print_db(double);
    void print_fc(string);
};

クラス定義はこんなもんですね。コンストラクタとかはまだ習っていない程でお願いします><
functionsはクラス定義にあるものはプロトタイプと同じと思っていいです。 実際にmain関数で使おうとしていなかったらリンクエラーも出ない。 あとclass定義は最後の}に;がいるよー!

で!

オブジェクト生成

int main() {
    // 下記でSample型のオブジェクト生成
    Sample nor_number;
    Sample abnor_number;

    //Sample型のポインター
    Sample *number {nullptr};
    //numberポインターにSampleクラスのアドレスを挿入
    number = new Sample

    //newして不要になれば消しておく
    delete number;

    //arrayもおっけー、nor_numberオブジェクトとabnor_numberのオブジェクトの配列
    Sample array[] {nor_number, abnor_number};

    //vectorもおっけー
    vector<Sample> vec{nor_number};
    vec.push_back{abnor_number};

}

とりあえず重要なのは、クラス定義のattributeを持ったオブジェクトってやつ。(なんか呼び方がまだまどろっこしい)
例だとnor_number、abnor_number、numberポインタ, aaray, vecはint_sp, double_sp, stの要素を持っています。
それにどんどんアクセスしていきますよ〜!