Moderators NEFERPITOU Postat Sâmbătă la 12:11 Moderators Postat Sâmbătă la 12:11 ** Obiective ** Prezentarea Conceptului de Supraincarcare a Operatorilor ** Supraincarcarea Operatorilor ** Supraincarcarea Operatorilor reprezinta un mecanism strict C++ , ce ne permite sa efectuam diverse operatiuni asupra obiectelor . Toti operatori pot fi supraincarcati , cu exceptia : operatorul "sizeof" ; operatorul de rezolutie ("::") ; operatorul "typeid" ; operatorul "ternary" ("? :") ; operatorul de selectie (". , .*") . De asemenea , nu putem declara/modifica noi versiuni de operatori (de exemplu , sa declaram operator**(int) pentru ridicarea la puterea a 2) sau sa intervenim asupra prioritati fata de alt operator , asociativitati sau cardinalitatii . ** O Mica Demonstratie ** // user.h class User{ // restu codului /// Operatori void operator+(int nrPosts); // Supraincarcam operatorul "+" } // user.cpp // La fiecare insumare a obiectului , vom mari numarul de posturi void User::operator+(int nrPosts) { this->nrPosts += nrPosts; // Insumam Numarul de Posturi } // entrypoint.cpp #include "User.h" // Includem Clasa de Utilizatori int main() { User user1("Alin", "alin@gmail.com", "alipassword"); // Apelam Constructor Default (Implicit) user1 + 10; // ADAUGAM 10 POSTURI ASUPRA OBIECTULUI !! user1 + 20; // MAI ADAUGAM INCA 20 DE POSTURI // IN TOTAL -- 30 objectToString(user1); // Afisam Obiectul dintr-o functie global cu eticheta de prieten } NOTA** : IN TUTORIALELE CE URMEAZA , VOM INTELEGE & APROFUNDA SUBIECTUL DE SUPRAINCARCARE !!
Postări Recomandate