class Base{
public:
Base(){}
private:
Base(const Base &b)
{
cout<<"copytor"<<endl;
}
};
class CB
{
public:
CB(Base &b):pb(&b){}
operator Base&()
{
return *pb;
}
private:
Base *pb;
};
void foo(Base b) { }
int main()
{
Base b;
CB cb(b);
foo(cb);
}
菜鸟问个问题,调用foo不是按值传递的吗,为什么可以调用Base的private里面的复制构造函数,什么时候调用的?