cpp
1#include <iostream> 2 3using namespace std; 4 5class origin 6{ 7public: 8 void out() { cout << "error" << endl; } 9}; 10 11class part : public origin 12{ 13public: 14 void out() { cout << "another" << endl; } 15}; 16 17int main() { 18 19 part p; 20 p.out(); 21 22 part* p_p; 23 p_p = new(part); 24 25 p_p->out(); 26} 27 28
cpp
1another 2another
以上のプログラムでanotheが出力されてしまうのはなぜでしょうか。
virtualがつけられていないため継承元メソッドが呼ばれると考えていました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。