C++ 赋值运算符'='重载
C++ 拷贝构造函数(初学有点难理解)
就像其他运算符一样,可以重载赋值运算符( = ),用于创建一个对象,比如拷贝构造函数。
1 #include <iostream>
2 using namespace std;
3 class Distance
4 {
5 private:
6 int feet; // 0 到无穷
7 int inches; // 0 到 12
8 public:
9 // 所需的构造函数
10 Distance(){
11 feet = 0;
12 inches = 0;
13 }
14 Distance(int f, int i){
15 feet = f;
16 inches = i;
17 }
18 void operator=(const Distance &D )
19 {
20 feet = D.feet;
21 inches = D.inches;
22 }
23 // 显示距离的方法
24 void displayDistance()
25 {
26 cout << "F: " << feet << " I:" << inches << endl;
27 }
28 };
29 int main()
30 {
31 Distance D1(11, 10), D2(5, 11);
32 cout << "First Distance : ";
33 D1.displayDistance();
34 cout << "Second Distance :";
35 D2.displayDistance();
36 // 使用赋值运算符
37 D1 = D2;
38 cout << "First Distance :";
39 D1.displayDistance();
40 return 0;
41 }
结果
First Distance : F: 11 I:10 Second Distance :F: 5 I:11 First Distance :F: 5 I:11