さて、ようやくオブジェクト指向。
普段が化石言語なもので、なんかい学んでも忘れますが今回こそは///
クラス定義
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の要素を持っています。
それにどんどんアクセスしていきますよ〜!