Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma warning(disable:4996)
- #include <iostream>
- #include <conio.h>
- #include <stdlib.h>
- using namespace std;
- class Persoana {
- protected:
- int varsta;
- char nume[50];
- char sex;
- public:
- Persoana(int varsta = 0, char nume[] = "", char sex = ' ');
- Persoana(Persoana &temp);
- ~Persoana();
- Persoana operator =(Persoana temp);
- int getVarsta();
- char* getNume();
- char getSex();
- void setVarsta(int varsta);
- void setNume(char nume[]);
- void setSex(char sex);
- void print();
- };
- Persoana::Persoana(int varsta, char nume[], char sex) {
- this->varsta = varsta;
- strcpy(this->nume, nume);
- this->sex = sex;
- }
- Persoana::~Persoana() {
- cout << "l-am apelat" << endl;
- }
- Persoana::Persoana(Persoana &temp) {
- strcpy(this->nume, temp.nume);
- this->sex = temp.sex;
- this->varsta = temp.varsta;
- }
- Persoana Persoana::operator=(Persoana temp) {
- strcpy(this->nume, temp.nume);
- this->sex = temp.sex;
- this->varsta = temp.varsta;
- return *this;
- }
- void Persoana::print() {
- cout << "Varsta: " << this->varsta << endl;
- cout << "Nume: " << this->nume << endl;
- cout << "Sex: " << this->sex << endl;
- }
- int Persoana::getVarsta() {
- return this->varsta;
- }
- char* Persoana::getNume() {
- return this->nume;
- }
- char Persoana::getSex() {
- return this->sex;
- }
- void Persoana::setVarsta(int varsta) {
- this->varsta = varsta;
- }
- void Persoana::setNume(char nume[]) {
- strcpy(this->nume, nume);
- }
- void Persoana::setSex(char sex) {
- this->sex = sex;
- }
- class Student : public Persoana {
- private:
- char facultate[50];
- public:
- Student(char facultate[] = "", int varsta = 0, char nume[] = "", char sex = ' ') :Persoana(varsta, nume, sex) {
- strcpy(this->facultate, facultate);
- }
- Student(Student&temp);
- Student operator =(Student temp);
- ~Student();
- char* getFacultate();
- void setFacultate(char facultate[]);
- void print();
- };
- Student::Student(Student &temp) :Persoana(temp) {
- strcpy(this->facultate, temp.facultate);
- }
- Student::~Student() {
- cout << "l-am apelat" << endl;
- }
- Student Student::operator=(Student temp) {
- this->varsta = temp.varsta;
- strcpy(this->nume, temp.nume);
- this->sex = temp.sex;
- strcpy(this->facultate, temp.facultate);
- return *this;
- }
- char * Student::getFacultate() {
- return this->facultate;
- }
- void Student::setFacultate(char facultate[]) {
- strcpy(this->facultate, facultate);
- }
- void Student::print() {
- this->Persoana::print();
- cout << "Facultate: " << this->facultate;
- }
- int main() {
- Student Frentzy("Stiinte", 21, "Frentzy", 'M');
- cout << Frentzy.getFacultate() << endl;
- cout << Frentzy.getNume() << endl;
- cout << "printam print-ul din Student:" << endl;
- Frentzy.print();
- cout << "\nprintam print-ul din persoana" << endl;
- Frentzy.Persoana::print();
- cout << endl;
- Frentzy.setFacultate("Vaslui");
- cout << "Facultate: " << Frentzy.getFacultate();
- cout << "\n############################";
- Student Malina;
- cout << endl;
- Malina.print();
- Malina.setFacultate("Caras");
- Malina.setNume("Malina");
- Malina.setSex('F');
- Malina.setVarsta(19);
- cout << "\n################################\n";
- cout << "\napelam print din Persoana" << endl;
- Malina.Persoana::print();
- cout << "\napelam print-ul din student:" << endl;
- Malina.print();
- cout << endl << endl << endl;
- Persoana Fork(21, "bla bla", 'M');
- Persoana Meh;
- Meh = Fork;
- Meh.print();
- cout << endl << endl << endl;
- cout << "test" << endl;
- Malina.print();
- cout << "\n###############" << endl;
- Malina = Frentzy;
- Malina.print();
- Frentzy.print();
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement