class A {};
class B { public: B (A a) {} };
A a;
B b=a;
我是从 http://www.cplusplus.com/doc/tutorial/typecasting/ 读到的.它说这是一个隐式类型转换。从A级到B级。 我想问一下,这也是拷贝构造函数的例子吗? 谢谢。
最佳答案
不,它不是复制构造函数。复制构造函数将一种类型的一个对象复制到另一个相同类型的对象中:
B::B(const B& b)
{
// ...
}
作为旁注,如果您需要复制构造函数,那么您可以 also need一个析构函数和一个赋值运算符,可能还有一个交换函数。
B::B(A)
是一个转换 函数。它是一个构造函数,允许您将 A
类型的对象转换为 B
类型的对象。
void f(const B& obj);
void g()
{
A obja;
B objb = obja;
f(obja);
}
关于c++ 是这个拷贝构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5320545/