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)就是调用重载的函数运算符。
进击的小🐴农