[過去ログ] 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
607
(2): デフォルトの名無しさん [sage] 2018/04/16(月) 12:10:28 ID:rDfY3L1y(1/7) AAS
Java,C#などのプログラマです。
C++にC#などのインターフェースはない代わりに多重継承?できるのでそれを使うとのことで、
外部リンク:ideone.com
ITestAとITestBはインターフェース的なものです。
で、ITestAを実装したCBaseAを作り、CBaseAを継承しITestBを実装したCTestBを
作ったのですが、
CBaseBをnewなど実体化するとITestA::methodAがオーバーライドされておらずCBaseBは
抽象クラスになってて実体化できません。
ITestA::methodAをCBaseBでまた実装しなければいけないんでしょうか??
というかこういう場合C++ではどうすればいいのでしょうか?
610: デフォルトの名無しさん [sage] 2018/04/16(月) 14:01:04 ID:rDfY3L1y(2/7) AAS
>>609
609(1): デフォルトの名無しさん [sage] 2018/04/16(月) 13:08:20 ID:5MYyAHFg(1) AAS
>>607
単なる文法エラーだからエラーメッセージみてコードを直してください
文法エラー??
外部リンク:ideone.comの今回の部分と関係ないエラーは無視してください。
あくまでイメージ目的でそこらへん適当にやりました。
すみません。

外部リンク:ideone.com
こっちですね。
611: デフォルトの名無しさん [sage] 2018/04/16(月) 14:08:31 ID:rDfY3L1y(3/7) AAS
ちなみに、C#だとこんな感じです。
外部リンク:ideone.com
613
(1): デフォルトの名無しさん [sage] 2018/04/16(月) 14:32:34 ID:rDfY3L1y(4/7) AAS
もちろん、エラーなくしてコンパイルを通す方法は
>>607
>ITestA::methodAをCBaseBでまた実装しなければいけないんでしょうか??
で書いたようにすればとりあえず、コンパイルは通ります。
聞きたいのは、
C#の場合はBaseAの方で一度MethodAを宣言・定義すればいいのですが、
C++の場合は毎回CBaseAの派生クラスでmethodAを宣言して定義しなおさなければいけないのでしょうか??
それともC++では他の方法があるのでしょうか?
614: デフォルトの名無しさん [sage] 2018/04/16(月) 14:34:54 ID:rDfY3L1y(5/7) AAS
>>612
612(2): デフォルトの名無しさん [sage] 2018/04/16(月) 14:29:48 ID:7XdbFr6Z(1/2) AAS
CBaseAのmethodAをCBaseBを実体化して呼びたいんだよな?
ならCBaseAとITestBどっちのmethodA呼ぶのかあいまいって怒られる

これならok
外部リンク:ideone.com
あ、すみません。ちょっと被ってしましましたね。>>613は忘れて下さい。
>>612のコードを見てみます。
615
(1): デフォルトの名無しさん [sage] 2018/04/16(月) 15:08:36 ID:rDfY3L1y(6/7) AAS
>>612
そっか。純粋仮想関数じゃなくて仮想関数にするって手もありましたか。
まぁ、インターフェース的なクラスの方をいじくるのが気になりますが。
ありがとうございます。
618: デフォルトの名無しさん [sage] 2018/04/16(月) 17:30:50 ID:rDfY3L1y(7/7) AAS
>>616
616(1): デフォルトの名無しさん [sage] 2018/04/16(月) 15:30:44 ID:7XdbFr6Z(2/2) AAS
>>615
インターフェース側をいじるのは仕方ない
どっちかになる

外部リンク:ideone.com
外部リンク:ideone.com
>>617
617(1): デフォルトの名無しさん [sage] 2018/04/16(月) 16:21:16 ID:Gm7LZDiq(1) AAS
実装とインタフェースの両方を継承するならこういう書き方もある
ATL なんかがこれ式かな

外部リンク:ideone.com
色々ありがとうございます。>>617がよさそうなのでこれで行こうかなと思います。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s