北大OJ 002:奇怪的类复制

image.png

class Sample { public: int v;

  1. Sample(int v_ = 0) : v(v_) {}
  2. Sample(const Sample &s)
  3. {
  4. v = s.v + 2;
  5. }

};

void print(Sample s) // 调用复制构造函数 { cout << s.v << endl; }

int main() { Sample a(5); // 调用转换构造函数 Sample b = a; // 调用复制构造函数 Sample c = 20; // 调用转换构造函数 Sample d; d = a;

  1. return 0;

} ```