初めての抽象クラス
まず、調べたらでてきたのが
①abstract
②virtual
の2つのキーワードができてきたので、これらについて調べます。
●abstract
abstractを初め使おうと思ったのですが、
単純に
×間違い例
abstract class クラス名{
};
では無理そう。
これはC#みたい。
○成功例
→抽象クラス
ref class クラス名A abstract{
public:
virtual void 関数名 abstract; // 純粋仮想関数
};
→継承クラス
ref class クラス名B : クラス名A{
public:
virtual void 関数名 override{
}
};
と、参照型であれば使用できそう。
でもめんどくさそう。
●virtual
virtualを調べてみると、
→抽象クラス
class クラス名
{
public:
virtual void 関数名 = 0; // 純粋仮想関数
};
→継承クラス
class クラス名
{
public:
void 関数名
{
}
}
virtualのほうが使いやすそう・・・
●補足
①基本的にデータの抽象化はできない
②virtualとstaticは併用できない(virtualとconstは可能)
●まとめ
abstractはめんどくさそう
virtualのほうが使いやすそう
abstractのほうが継承を明示できる?
[0回]