This C++ project implements a voting system, demonstrating the application of Object-Oriented Programming (OOP) principles through the use of inheritance, abstraction, polymorphism, and operator overloading.
- Abstract Class
Partid
: Serves as a base for different types of political parties, using inheritance and virtual methods. - Read and Display: Implemented through dedicated classes (
Citire
,Afisare
) that override the input (>>
) and output (<<
) operators. - Polymorphism: Demonstrated through virtual methods that are overridden in derived classes.
- Operator Overloading: Illustrated by overriding addition operators to add votes to parties.
- Create instances of parties and manipulate them through specified methods.
- Interact with the user to read data from the console and display results.
Partid* p1 = new Partid_definit1("PSD", 10000);
Partid* p2 = new Partid_definit2("PNL", 20000);
vector<Partid*> Partide{ p1,p2 };
afisare2(Partide);
Contributions are welcome to expand and improve the voting system.
Acest proiect C++ implementează un sistem de votare, demonstrând aplicarea principiilor Programării Orientate pe Obiect (POO) prin utilizarea mostenirii, abstractizării, polimorfismului și încărcării operatorilor.
- Clasa Abstractă
Partid
: Servește drept bază pentru diferite tipuri de partide politice, folosind mostenirea și metode virtuale. - Citire și Afisare: Implementate prin clase dedicate (
Citire
,Afisare
) care suprascriu operatorii de input (>>
) și output (<<
). - Polimorfism: Demonstrat prin metode virtuale care sunt suprascrise în clase derivate.
- Încărcarea Operatorilor: Exemplificată prin suprascrierea operatorilor de adunare pentru a adăuga voturi la partide.
- Crearea instanțelor de partide și manipularea acestora prin metodele specificate.
- Interacțiunea cu utilizatorul pentru citirea datelor de la consolă și afișarea rezultatelor.
Partid* p1 = new Partid_definit1("PSD", 10000);
Partid* p2 = new Partid_definit2("PNL", 20000);
vector<Partid*> Partide{ p1,p2 };
afisare2(Partide);
Contribuțiile sunt binevenite pentru extinderea și îmbunătățirea sistemului de votare.