C++ Primer(第5版) 练习 13.17
练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
/*************************************************************************> File Name: ex13.17.cpp> Author: > Mail: > Created Time: Tue 23 Apr 2024 09:48:13 AM CST************************************************************************/#include<iostream>
using namespace std;static int nextsn = 1;class numbered {
public:int mysn;numbered() : mysn(nextsn++) { } // Unique serial number for each objectnumbered(const numbered &n) : mysn(nextsn++) { } // Copy creates a new unique idnumbered &operator= (const numbered &n) {mysn = nextsn++; // Ensure unique id on assignmentreturn *this;}
};void f1(numbered s) {cout << s.mysn << endl;
}void f2(const numbered &s) {cout << s.mysn << endl;
}int main() {numbered a, b = a, c = b;f1(a); f1(b); f1(c);f2(a); f2(b); f2(c);return 0;
}