忍者ブログ

てんねんのSE備忘録

てんねんのためのSE備忘録 間違い指摘いただけると助かります また、拍手なんかしていただけると喜びます

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

C++:抽象クラス

初めての抽象クラス

まず、調べたらでてきたのが

①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回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

フリーエリア

最新CM

最新TB

プロフィール

HN:
てんねん
性別:
非公開

バーコード

ブログ内検索

P R

カウンター

忍者アナライズ