(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() |