“因为如果是显式调用A(p1,p2)的话其内部不会调用B重载的函数”
对于这个问题可以走一个弯路
struct Bridge
{
int a;
int b;
Bridge(int i,int j):a(i),b(j){}
};
class A
{
public:
A(int,int){}
};
class B:public A
{
public:
B(Bridge tmp):A(tmp.a,tmp.b){}
};
int main()
{
B* pb=new B(Bridge(10,20));
......
delete pb;
}