[ゲームをするので日記を書く]C++(3)OPP 3
たけいせい
-オーバーロード:関数の再使用
-上書き:親を継承する関数を、関数の再定義子クラスで再定義します.
初期化リスト
継承関係で必要な親ジェネレータを呼び出すために使用します.
他のレベルからレベルを持ってきたとき、次の2つの法則で設計します.
--I-A関係(ex:猫は動物ですか?YES->継承関係)
(間違ったex:猫は爪ですか?NO->含む関係(Has-A)
--ハイス-A関係(猫は爪がありますか?)YES->包含関係
衛生聖人Cat()でtall値を初期化すると
-オーバーロード:関数の再使用
-上書き:親を継承する関数を、関数の再定義子クラスで再定義します.
class Robot :BatterySize(100)
{
public:
int _batterySize
public:
void BatterySizeUp()
{
cout<<"배터리가 늘어났습니다"<<endl;
}
void BatterySizeUp(int upSize)
{
cout<<"배터리가 늘어났습니다"<<endl;
}
}
前述したように、同じ名前で関数をパラメータまたはタイプに変換し、オーバーロードと呼ぶ.//오버라이딩
class Robot :BatterySize(100)
{
public:
int _batterySize
public:
void BatterySizeUp()
{
cout<<"배터리가 늘어났습니다"<<endl;
}
}
class RecentRobot : Robot
{
void BatterySizeUp()
{
cout<<" 최신배터리로 바뀌어 용량이 커졌습니다"<<endl;
}
}
上記のように、親クラスで使用される関数をoverlightとして再定義します.初期化リスト
継承関係で必要な親ジェネレータを呼び出すために使用します.
他のレベルからレベルを持ってきたとき、次の2つの法則で設計します.
--I-A関係(ex:猫は動物ですか?YES->継承関係)
(間違ったex:猫は爪ですか?NO->含む関係(Has-A)
--ハイス-A関係(猫は爪がありますか?)YES->包含関係
class claws
{
Claws(){ cout<<"발톱이 자랐습니다"<<endl }; // claws생성자
Claws(int tall){ cout<<"발톱이"<< tall<<"만큼 자랐습니다" <<endl }
~Claws(){ cout<<"발톱이 다자랐습니다"<<endl }; // claws소멸자
}
class Cat
{
Cat()
{
_age = 4;
}
int _age;
public:
Claws _claw;
}
上記のコードでは、Clows()とClows(int tall)でコンストラクション関数を2回呼び出すときに問題が発生しないように、以下の初期化でコンストラクション関数を1つだけ呼び出すことができます.衛生聖人Cat()でtall値を初期化すると
Cat() : _claw(20)
{
_age = 4;
}
基本ジェネレータを読み込むと、呼び出しのためにClaws(int tall)が停止し、指定されます.Reference
この問題について([ゲームをするので日記を書く]C++(3)OPP 3), 我々は、より多くの情報をここで見つけました https://velog.io/@junior_tiger/게임만들꼬니까-일기장-C-OPP-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol