//动态内存分配
Monster[10];
Monster *hp;
hp = new Monster[10];
delete[]hp;
如果delete时没写[]的话编译器可能不会报错,但是一部分内存不会释放,从而导致内存泄漏
コンストラクタ
デストラクタ
class Monster
{
public:
int HP;
Monster()
{
}
~Monster()
{
}
};
函数名和类名相同
没有指定返回值类型
class Mosnter
{
public:
int HP;
Monster()
{
printf("konn!\n");
}
~Monster()
{
printf("death!\n");
}
};
int main()
{
printf("start\n");
Monster champ;
Monster *p;
p=new Mosnter;
printf("dotyuu\n");
delete p;
getchar();
return 0;
}
kadai 03 「new と delete」
複数の部品からなる何かをクラス定義
部品もクラス定義してください
class Robot
class head
class LeftArm
class RightArm
class LeftLeg
class Right
class JJ
それぞれの部品がポインタで定義
class Robot
{
Head *headP;
}
コンストラクタで部品のインスタンスをnewで生成する
Robot()
{
printf("amuroikimasu!\n");
headP = new Head;
}
部品のインスタンスをdeleteで削除してください
~Robot()
{
}