uacs2024

导航

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

 

posted on 2024-03-03 16:32  ᶜʸᵃⁿ  阅读(3)  评论(0编辑  收藏  举报