.下列程序的输出结果为( )。
#include
using namespace std;
class base {
public:
int n;
base(int x) { n = x;}
virtual void set(int m) { n = m; cout << n <<' ';}
};
class deriveA:public base {
public:
deriveA(int x):base(x) { }
void set(int m) { n += m; cout << n <<endl;}
};
class deriveB:public base {
public:
deriveB(int x):base(x) { }
void set(int m) { n +=m; cout <<n << endl;}
};
int main()
{
deriveA dl(1);
deriveB d2(3);
base *pbase;
pbase = &dl;
pbase->set(1);
pbase = &d2;
pbase->set(2);
return 0;
}
2
5