(main 関数内) Student s1; // 引数なしコンストラクタが呼ばれる s1.setStudent(100,"織田信長"); s1.printInfo(); |
(Student.cpp 内) // 引数なしのコンストラクタ Student::Student() { ID = 0; name = ""; } |
(main 関数内) Student s2(101, "明智光秀"); // 引数ありのコンストラクタが呼ばれる s2.printInfo(); |
// 引数ありのコンストラクタ Student::Student(int i, string n) { ID = i; name = n; } |
Student *sp1; sp1 = new Student(); // 引数なしコンストラクタでの呼び出し sp1->setStudent(102, "豊臣秀吉"); sp1->printInfo(); Student *sp2; sp2 = new Student(103, "徳川家康"); // 引数ありコンストラクタでの呼び出し sp2->printInfo(); delete sp1; // new でメモリ確保したものは自分で delete する delete sp2; // new でメモリ確保したものは自分で delete する |
宣言 | 値 | アドレス | |
通常の変数 | int x | x | &x |
ポインタ変数 | int *x | *x | x |
宣言 | 実体 | アドレス | メンバ関数呼び出し | |
通常の変数 | Student s | s | &s | s.func() |
ポインタ変数 | Student *s | *s | s | s->func() |