///////////////////
class A
{
public:
A() {}
virtual void show()
{
printf("class A\n");
}
};
class B : public A
{
public:
B() {}
virtual void show()
{
printf("class B\n");
}
};
void func(A a)
{
a.show();
}
int main()
{
B b;
func(b);
return 0;
}
/////////////////
class A
{
public:
A() {}
virtual void show()
{
printf("class A\n");
}
};
class B : public A
{
public:
B() {}
virtual void show()
{
printf("class B\n");
}
};
void func(A& a)
{
a.show();
}
int main()
{
B b;
func(b);
return 0;
}
///////
请问大佬解释一下两段代码的输入结果。(代码不同的地方在func函数的参数)