{
tc();
return 0;
}
#include
#include
using namespace std;
class B
{
public:
virtual void f()
{
cout<<"B::f"<
void ff()
{
cout<<"B::ff"<
};
class D:public B
{
public:
void f()
{
cout<<"D::f"<
void g()
{
cout<<"D::g"<
};
void tc() B *bp=new D(); 结果: i,i
{
D d;
B b;
int k=0;
cout<
cout<<"prt:"<
cout<
int main()
{
tc();
return 0;
}
[cpp]
i,i
f
1B
1D
prt:P1B
1D
1B
1
0
1
f
1B
1D
prt:P1B
1D
1B
1
0
1
这里使用的是G++,vs可能与此不同。