C ++ unärer Operator Überlastung
C ++ Funktion Überlastung und Überladen von Operatoren
Unäre Operatoren nur einen Operanden Betrieb sind die folgenden Beispiele von einstellige Operatoren:
- Inkrementoperator (++) und Dekrementoperatoren (-)
- Unäre minus Operator, das ist ein negatives Vorzeichen (-)
- Logischer NOT-Operator (!)
Unärer Operator tritt typischerweise auf der linken Seite des Objekts, auf dem sie arbeiten, beispielsweise! Obj, -obj und ++ obj, aber manchmal können sie auch als Zusatz verwendet werden, wie beispielsweise obj ++ oder obj--.
Das folgende Beispiel zeigt, wie überladene einstellige Minusoperator (-).
#include <iostream> using namespace std; class Distance { private: int feet; // 0 到无穷 int inches; // 0 到 12 public: // 所需的构造函数 Distance(){ feet = 0; inches = 0; } Distance(int f, int i){ feet = f; inches = i; } // 显示距离的方法 void displayDistance() { cout << "F: " << feet << " I:" << inches <<endl; } // 重载负运算符( - ) Distance operator- () { feet = -feet; inches = -inches; return Distance(feet, inches); } }; int main() { Distance D1(11, 10), D2(-5, 11); -D1; // 取相反数 D1.displayDistance(); // 距离 D1 -D2; // 取相反数 D2.displayDistance(); // 距离 D2 return 0; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
F: -11 I:-10 F: 5 I:-11
Ich hoffe, dass die obigen Beispiele können Ihnen helfen, besser den unären Operator Überlastung Konzept zu verstehen, ähnlich, Sie können versuchen, die logische NOT-Operator neu zu laden (!).