Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class Student
- {
- private:
- char* nume;
- int varsta;
- float medie;
- public:
- //constructori
- Student()
- {
- this->nume = NULL;
- this->varsta = 0;
- this->medie = 0;
- cout << "Apel constructor fara parametrii" << endl;;
- }
- Student(char* nume, int varsta = 19, float medie = 0)
- {
- this->nume = new char[strlen(nume) + 1];
- strcpy(this->nume, nume);
- this->varsta = varsta;
- this->medie = medie;
- cout << "Apel constructor cu parametrii" << endl;
- }
- //accesori pentru atribute constante
- int getVarsta()
- {
- return this->varsta;
- }
- void setVarsta(int varsta)
- {
- if(varsta >= 18)
- this->varsta = varsta;
- }
- void afisare()
- {
- if(this->nume !=NULL)
- cout << "Nume student: " << this->nume << endl;
- cout << "Varsta: " << this->varsta << endl;
- cout << "Medie: " << this->medie << endl;
- }
- void afisare_this()
- {
- cout << this << endl;
- }
- int comparare(Student s)
- {
- if (this->medie > s.medie)
- return 1;
- else if (this->medie == s.medie)
- return 0;
- return -1;
- }
- };
- //transfer prin referinta
- int comparareVarsta(Student& s1, Student &s2)
- {
- if (s1.getVarsta() > s2.getVarsta())
- return 1;
- else if (s1.getVarsta() == s2.getVarsta())
- return 0;
- return -1;
- }
- int main()
- {
- Student s;
- s.afisare();
- Student vs[5];
- Student *ps = new Student();
- char nume[] = "Gigel";
- Student s2(nume, 19, 10);
- s2.setVarsta(23);
- s2.afisare_this();
- s2.afisare();
- Student s3(nume, 21);
- cout << s2.comparare(s3) << endl;
- cout << "Rezultat comparare varsta: " << comparareVarsta(s2, s3) << endl;
- Student s4(nume);
- s4.afisare();
- cout << s4.getVarsta();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement