C++构造函数和重载函数运算符如何区分

构造函数和重载函数运算符如何区分:

 1 class Distance
 2 {
 3    private:
 4       int feet;
 5       int inches;         
 6    public:
 7       Distance(){
 8          feet = 0;
 9          inches = 0;
10       }
11       Distance(int f, int i){
12           cout<<"构造函数"<<endl;
13          feet = f;
14          inches = i;
15       }
16       // 重载函数调用运算符
17       Distance operator()(int a, int b)
18       {
19           cout<<"函数调用符"<<endl;
20          Distance D;
21          // 进行随机计算
22          D.feet = a + b;
23          D.inches = b + a;
24          return D;
25       }
26 };
27 int main()
28 {
29     Distance x(10,11);
30     x(112,22);
31     Distance y=Distance(11,12);
32     getchar();
33     return 0;
34 }

变量第一次声明时 A a(x,y)或者 A(x,y),这种调用构造函数

如果变量a是已经存在的,那么a(x,y)就是调用重载的函数运算符。

猜你喜欢

转载自www.cnblogs.com/FdWzy/p/12362424.html