我想问一下 objects conversion 的实际含义是什么,例如: 为什么我无法在将 foo 分配给 A 后使用 foo 在 B 类访问打印?!
#include <iostream>
using namespace std;
class A {};
class B {
public:
// conversion from A (constructor):
B (const A& x) {}
void print(){cout << "Huo Jackman!\n";}
};
int main ()
{
A foo;
B bar = foo; // calls constructor
foo.print();
return 0;
}
最佳答案
使用:
bar.print();
请注意,在创建 bar
时,原始的 foo
对象并没有改变。 foo
的类型为 class A
,它不包含 print
方法,并且在 C++ 中无法即时添加方法。
关于c++ - 接受对象作为参数的构造函数发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25706837/