Operatoren überladen in c++
In c++ gibt es die Möglichkeit, einige Operatoren wie z.B. das addieren, multiplizieren, boolesche Operatoren oder auch die Standardausgabe zu überladen.
Dieses Feature ist nützlich, wenn man z.B. mit Objekten wie Vektoren oder Matrizen rechnen möchte. Der Aufruf funktioniert genauso, als wenn man zwei primitive Datentypen wie integer aufaddiert.
Hier folgt ein kleines Beispiel wie man das Objekt Integer aufaddieren kann mit dem + oder += Operator, welcher überladen wurde.
#include <iostream>
class Integer {
private:
int _value;
public:
Integer(int value) : _value(value) {}
virtual ~Integer(){}
int valueOf() const {
return _value;
};
/* operator affects this Integer object */
Integer& operator+= (const Integer& other){
this->_value += other._value;
return *this;
};
};
/* operator on two independend Integers */
Integer operator+ (const Integer& one, const Integer& two){
return Integer(one.valueOf() + two.valueOf());
}
int main(){
Integer one = Integer(2);
Integer two = Integer(3);
Integer result = one + two;
std::cout << result.valueOf() << '\n';
result += two;
std::cout << result.valueOf() << '\n';
}
0
0
0.000
oh, an das erinnere ich mich flüchtig.
Es beginnt immer wieder bei Position 0.
Das kenne ich. Man lernt nie aus. Vor allem das ständige wiederholen von bereits gelernten...
!LUV
@jeyf123, @ozelot47(1/10) sent LUV. | connect | community | HiveWiki | NFT | <>< daily
! help
(no space) to get help on Hive. InfoDa hast du recht. Mir fehlt leider so häufig die Motivation oder die Konzentration. Aber ich versuch dran zu bleiben.
!BEER
!LUV
@ozelot47, @jeyf123(1/1) sent LUV. | connect | community | HiveWiki | NFT | <>< daily
! help
(no space) to get help on Hive. Info!PIZZA !WITZ !BEER
lolztoken.com
Ein Pinguin im Tarnanzug.
Credit: thatgermandude
@ozelot47, ich habe dir im Namen von @dotwin1981 einen $LOLZ Token gesendet
Verwende den Befehl !WITZ oder !LOOL, um einen Witz und ein $LOLZ zu teilen.
Farm LOLZ tokens when you Delegate Hive or Hive Tokens.
Click to delegate: 10 - 20 - 50 - 100 HP
.(6/10)
$PIZZA slices delivered:
@dotwin1981(8/15) tipped @ozelot47