北大OJ 002:奇怪的类复制
- 考察复制构造函数的调用时机,参看https://hitwhlc.yuque.com/qtpzhy/ktrcom/nnf4m1
- 完整代码
```
include
include
using namespace std;
class Sample { public: int v;
Sample(int v_ = 0) : v(v_) {}
Sample(const Sample &s)
{
v = s.v + 2;
}
};
void print(Sample s) // 调用复制构造函数 { cout << s.v << endl; }
int main() { Sample a(5); // 调用转换构造函数 Sample b = a; // 调用复制构造函数 Sample c = 20; // 调用转换构造函数 Sample d; d = a;
return 0;
} ```