C++のオーバーライドについて質問です。
以下のようなコードでメンバ関数にconstが付与されている場合、main()を変更せずにオーバーライドすることは可能なのでしょうか?
ちなみに const を消すと可能でしたが、const はあるものとしたいのです。
c++
1 2class A 3{ 4public: 5 virtual void func() const{ 6 cout<<"Yes"; 7 } 8}; 9 10class B : public A 11{ 12public: 13 void func(){ 14 cout<<"No"; 15 } 16}; 17int main(){ 18 A *a = new A; 19 a->func(); 20 delete a; 21 22 a = new B; 23 a->func(); 24 delete a; 25}
出力 Yes Yes
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/20 09:29
2018/11/20 09:31
2018/11/20 09:35