arithmetic operator

Üdvözlöm, Ön a arithmetic operator szó jelentését keresi. A DICTIOUS-ban nem csak a arithmetic operator szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a arithmetic operator szót egyes és többes számban mondani. Minden, amit a arithmetic operator szóról tudni kell, itt található. A arithmetic operator szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. Aarithmetic operator és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

Főnév

arithmetic operator (tsz. arithmetic operators)

  1. (informatika) Az aritmetikai operátorok C++-ban lehetővé teszik matematikai műveletek végrehajtását számokon és egyéb numerikus adattípusokon. Az operátorok működését akár saját osztályainkra is alkalmazhatjuk operátor túlterheléssel.



1. Alapvető aritmetikai operátorok

A C++ beépített aritmetikai operátorai:

Operátor Leírás Példa
+ Összeadás a + b
- Kivonás a - b
* Szorzás a * b
/ Osztás a / b
% Maradékos osztás (modulus) a % b

Példa a beépített aritmetikai operátorokra

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;

    cout << "Osszeadas: " << (a + b) << endl;
    cout << "Kivonas: " << (a - b) << endl;
    cout << "Szorzas: " << (a * b) << endl;
    cout << "Osztas: " << (a / b) << endl;
    cout << "Maradekos osztas: " << (a % b) << endl;

    return 0;
}

Kimenet:

Osszeadas: 13
Kivonas: 7
Szorzas: 30
Osztas: 3
Maradekos osztas: 1

💡 Megjegyzés: Egész számok (int) osztásánál a C++ egész osztást hajt végre (a törtrész elvész). Ha tizedes tört eredményt szeretnénk, használjunk double típust.

double x = 10.0, y = 3.0;
cout << "Osztas (double): " << (x / y) << endl; // Kiírja: 3.33333

2. Összetett aritmetikai operátorok

Ezek az operátorok egyszerre hajtanak végre műveletet és hozzárendelést.

Operátor Példa Ugyanaz, mint…
+= a += b a = a + b
-= a -= b a = a - b
*= a *= b a = a * b
/= a /= b a = a / b
%= a %= b a = a % b

Példa az összetett operátorokra

#include <iostream>
using namespace std;

int main() {
    int a = 10;

    a += 5;  // a = 10 + 5
    cout << "a += 5: " << a << endl;

    a *= 2;  // a = 15 * 2
    cout << "a *= 2: " << a << endl;

    a /= 3;  // a = 30 / 3
    cout << "a /= 3: " << a << endl;

    return 0;
}

Kimenet:

a += 5: 15
a *= 2: 30
a /= 3: 10

3. Operátor túlterhelés aritmetikai műveletekre

C++-ban saját osztályokat is használhatunk az alapvető aritmetikai operátorokkal, ha operátor túlterhelést (operator+, operator-, stb.) alkalmazunk.

Példa: Összeadás (+) túlterhelése egy Vektor osztályra

#include <iostream>
using namespace std;

class Vektor {
public:
    int x, y;

    Vektor(int a, int b) : x(a), y(b) {}

    // `+` operátor túlterhelése
    Vektor operator+(const Vektor& masik) {
        return Vektor(x + masik.x, y + masik.y);
    }

    void kiir() {
        cout << "(" << x << ", " << y << ")" << endl;
    }
};

int main() {
    Vektor v1(2, 3);
    Vektor v2(4, 5);
    Vektor eredmeny = v1 + v2;  // `+` operátor túlterhelése

    eredmeny.kiir();  // Kiírja: (6, 8)
    return 0;
}

4. Osztás (/) és 0-val való osztás kezelése

Az osztásnál fontos ellenőrizni a 0-val való osztás elkerülését, különösen egész számok esetén.

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 0;

    if (b != 0) {
        cout << "Osztas: " << (a / b) << endl;
    } else {
        cout << "Hiba: 0-val nem lehet osztani!" << endl;
    }

    return 0;
}

Kimenet:

Hiba: 0-val nem lehet osztani!

💡 Megjegyzés: double típus esetén 0.0-val való osztás nem okoz programhibát, hanem inf értéket ad vissza.

double x = 10.0, y = 0.0;
cout << (x / y) << endl;  // Kiírja: inf

5. Unáris operátorok: ++ és --

A ++ és -- operátorok egy változó értékét növelik vagy csökkentik.

Operátor Leírás Példa
++ Növelés 1-gyel a++ vagy ++a
-- Csökkentés 1-gyel a-- vagy --a
int a = 5;
cout << a++ << endl; // Kiírja: 5 (először kiír, aztán növel)
cout << ++a << endl; // Kiírja: 7 (először növel, aztán kiír)

Ha egy osztályban túl akarjuk terhelni a ++ operátort:

class Szam {
public:
    int ertek;

    Szam(int e) : ertek(e) {}

    // `++` operátor túlterhelése
    Szam operator++() {
        ++ertek;
        return *this;
    }

    void kiir() {
        cout << "Ertek: " << ertek << endl;
    }
};

int main() {
    Szam sz(10);
    ++sz;
    sz.kiir(); // Kiírja: Ertek: 11
}

6. Mikor használjunk operátor túlterhelést?

✔ Ha saját osztályokat szeretnénk intuitív módon kezelni matematikai műveletekkel.
✔ Ha vektorok, mátrixok vagy egyéb adatszerkezetek összeadását, kivonását stb. szeretnénk implementálni.
✔ Ha a kódot olvashatóbbá és egyszerűbbé szeretnénk tenni.



7. Összegzés

  • A C++ aritmetikai operátorai: +, -, *, /, %
  • Az operátorokat túl lehet terhelni saját osztályokhoz.
  • A ++ és -- operátorok növelést/csökkentést hajtanak végre.
  • A 0-val való osztásra figyelni kell!