<< ローカル変数とスタックオーバーフロー | top | Geant4始めた >>

スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |

クラステクニック

 他人の書いたライブラリ使っててこんなことも出来るなって思ったことをメモしておく。

まず、基本クラスTESTの内容は知らないとする(他人が作った)。

これを継承してvoid g()をprivateメソッドとしてもつクラスを作れという指示がある。

class TEST2 : public TEST
{
private:
    void g()
    {
        cout << "hello world" << endl;
    }
};

TESTクラスでpublicになっているメソッドはvoid f()だけである。

int main()
{
    TEST2 test2;
    test2.f();
   
    return 0;
}

これだけ見ると自分の定義したg()はどこいったんだろうと思うんだけど、TESTクラスの中身を見せてもらうと、

class TEST
{
public:
    void f()
    {
        cout << "Hello World" << endl;
        g();
    }
private:
    virtual void g() = 0;
};

のようになっていてちゃんとg()が利用されている。
ジャジャガッチ | C/C++ | 16:50 | comments(0) | trackbacks(0) |

スポンサーサイト

スポンサードリンク | - | 16:50 | - | - |
Comment









Trackback
URL:

05
--
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
--
>>
<<
--
PR
RECOMMEND
RECENT COMMENT
MOBILE
qrcode
OTHERS
Since 2013/09/17
LATEST ENTRY
CATEGORY
ARCHIVE
LINKS
PROFILE
SEARCH