トップページ > プログラム > 2015年07月16日 > 8PKWst4d

書き込み順位&時間帯一覧

7 位/149 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000023005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net

書き込みレス一覧

スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
499 :デフォルトの名無しさん[]:2015/07/16(木) 20:25:08.45 ID:8PKWst4d
class Parent {
private:
  string str = "Parent";
public:
  string func() { return str; }
};

class Child : public Parent {
private:
  string str = "Child";
};

int main(void) {
  cout << Child().func() << endl;
}

これVisualStudio2013で動かすと"Parent"って出るんですが仕様動作ですか?
"Child"って出す方法はありますか?
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
502 :デフォルトの名無しさん[]:2015/07/16(木) 20:48:22.58 ID:8PKWst4d
virtualにしたら継承する子クラスごとに実装が必要になりますよね?
全部共通の挙動を記述したいのに、ポリモーフィズムになってないような…
継承したときの挙動がJavaとだいぶ違うんですね…
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
504 :デフォルトの名無しさん[]:2015/07/16(木) 21:07:12.81 ID:8PKWst4d
ポリモーフィズムという言葉の使い方が論理で言う裏の意味になってしまっていましたが、
挙動が異なる部分は個別で書いても、
共通の部分は1か所で書いてほしいという意味です。
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
506 :デフォルトの名無しさん[]:2015/07/16(木) 21:26:39.68 ID:8PKWst4d
あれ?私がアホだったようです。今までどうやってたんだろう?
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
509 :デフォルトの名無しさん[]:2015/07/16(木) 21:38:42.38 ID:8PKWst4d
コンストラクタは試しましたが駄目でした
Javaも同じ挙動なので正統な仕様っぽいですね


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。