##C++の継承で質問があります!
以下、ソースコードです。
c++
1#include <iostream> 2using namespace std; 3class A{ 4public: 5 A(); 6 virtual ~A(); 7private: 8 void out_put_start_log(); 9 void out_put_end_log(); 10 virtual void output_original_log(); 11}; 12 13 14A::A(){ 15 output_original_log(); 16 out_put_start_log(); 17} 18 19A::~A(){ 20 output_original_log(); 21 out_put_end_log(); 22} 23 24void A::out_put_start_log(){ 25 cout << "開始" << endl; 26} 27 28void A::out_put_end_log(){ 29 cout << "終了" << endl; 30} 31 32void A::output_original_log(){ 33 cout << "クラスA"; 34} 35 36 37class B : public A{ 38private: 39 void output_original_log(); 40}; 41 42void B::output_original_log(){ 43 cout << "クラスB"; 44} 45 46 47int main(void){ 48 A* a = new A(); 49 delete a; 50 B* b = new B(); 51 delete b; 52} 53
この実行結果は、
クラスA開始
クラスA終了
クラスA開始
クラスA終了
となります。
しかし、以下のようになって欲しいのですが、
クラスA開始
クラスA終了
クラスB開始
クラスB終了
どうすれば良いでしょうか?
※質問の内容以外でも、アドバイスがあればお願いします!!
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/30 13:36
2019/01/30 14:57
2019/01/31 01:42
2019/01/31 01:44
2019/01/31 04:53
2019/01/31 07:12
2019/01/31 12:27
2019/02/01 05:19
2019/02/01 06:52
2019/02/01 07:31
2019/02/01 08:27