Cpp クラス 多重継承 新しいページはコチラ
提供: yonewiki
(→クラス 多重継承) |
(→クラス 多重継承) |
||
11行: | 11行: | ||
<br /> | <br /> | ||
== '''クラス 多重継承''' == | == '''クラス 多重継承''' == | ||
− | + | 1つのクラスは2つの基底クラスあるいはそれ以上の数の基底クラスを持つことが出来ます。1つのクラスは1つの基底クラスを持ち、基底クラスがさらに基底クラスを持つことも出来ます。そして更にその基底クラスと幾つも基底くらすを持ち続ける構造もありえます。真ん中に挟まれたクラスは、あるときは基底クラス、あるときは派生クラス。そしてのその正体は!みたいな感じ?そういう感じになります。こうなると複雑な継承もバシバシ考えつきます。1つのクラスが2つの基底クラスをもち、その2つの基底クラスは共通の基底クラスをもつという形式。他にも1つのクラスが2つの基底クラスをもち、それぞれの基底クラスが各々別の基底クラスをもつというパターン。このようなことの組み合わせによる深い階層の継承や結合と分解を繰り返す継承。もの凄い沢山のパターンが考えられます。そんな中で、ある部分で重複したり、ある部分は仮想関数だったり、派生クラスが仮想関数補うオーバライドだったり純粋仮想関数がふくまれていたり、初期化指定子があったり、引数の数が違う多重定義(オーバロード)があったり、実に複雑なことが山のように生まれ、重複可能なのか?そんなことが許されるのかという部分があって、全貌をつかむのは、簡単ではないですが、基本的な部分を理解することにより、全体の仕組みを理解しようという試みをここでやっていきたいと思います。ある程度、使い方のイメージを持ちながらも、シンプルな構造のサンプルでより多くを学べるようにしようと考えていますが、どうしたらいいか、少しゆっくり考えてみようと思います。 | |
− | + | やだな。考えるの。でも、考えないといけないよね。人に伝えるというのは難しいね。頑張ろ。実際はそれほど複雑な継承を使うことは無いので、かるい気持ちで考えつつも、深く知っておくという感じでしょうか。 | |
[[C PlusPlus#C++からの技術|C++]]に戻る | [[C PlusPlus#C++からの技術|C++]]に戻る |