Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class Operators
- {
- public:
- Operators(int a, int b)
- {
- this->a = a;
- this->b = b;
- }
- ~Operators()
- {
- }
- void operator+ (int a)
- {
- std::cout << "meghívva: void operator+ (int a)" << std::endl;
- }
- void operator+ (Operators& op)
- {
- std::cout << "meghívva: void operator+ (Operators& op )" << std::endl;
- }
- void operator++ (int a)
- {
- std::cout << "meghívva: void operator++ (int a)" << std::endl;
- }
- void operator- (int a)
- {
- std::cout << "meghívva: void operator- (int a)" << std::endl;
- }
- private:
- int a, b;
- };
- void operator- (Operators& op)
- {
- std::cout << "meghívva: void operator- (void) (globális névtérben)" << std::endl;
- }
- void operator-(Operators& op, Operators& op2)
- {
- std::cout << "meghívva: operator-(Operators& op, Operators& op2) (globális névtérben)" << std::endl;
- }
- /*Magyarul: ha osztályon belül terhelünk túl egy operátort, annak egyik operandusa muszáj,
- hogy egy adott osztáy beli objektum legyen, különben mi értelme lenne az egésznek?:)
- Ezért amikor az osztályban definiáljuk őket, ezt nem is kell oda írni, hanem alapból lesz egy ilyen paramétere
- a túlterhelt függvénynek.
- A globális névtérben deklarált op. túlterhelésekről nem feltételezheti a fordítóprogram, hogy bármilyen köze van
- egy osztályhoz, így annak külön meg kell adni paraméterként, hogy melyik osztállyal dolgozik. */
- int main(void)
- {
- Operators A(10,10);
- A+1;
- A+A;
- A++;
- A-2;
- -A;
- A-A;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement