Documente Academic
Documente Profesional
Documente Cultură
Window
Button Titled
Window Window
3. Realizarea sarcinii
La scrierea programului urmăm pașii: Button
declarăm clasa student care conține variabilele nota, anul, grupa, constructorul acestei clase si o
Titled
metodă afișă care extrage la ecran toate aceste vatiabile.
Window
Declar clasa angajat care moștenește clasa joc și are o variabilă salariu.
Cream clasa practicant care moștenește ambele clase de mai sus și are variabila nume, și metoda
afișare.
În metoda main creăm o variabilă de tip practicant și observăm cum are loc accesul la
constructoruii claselor de bază și accesul la obiectele acestor clase.
Testăm programul.
Codul sursă și rezultatele obținute sunt prezentate mai jos.
#include<iostream>
#include<string>
#include<conio.h>
#include <stdio.h>
using namespace std;
class student
{
public:
float nota;
int anul;
string grupa;
student(string &s,int a, float n)
{
grupa=s;
nota = n;
if(a>0&&a<5)
{
anul=a;
}
else
{
cout<<"Anul e incorect!\nE setat anul 1\n";
anul=1;
}
}
void afisa(void)
{
cout<<grupa<<endl;
cout<<"Anul"<<anul<<endl;
cout<<"Nota medie"<<nota<<endl;
}
};
class angajat{
public:
float salariu;
angajat(float sal)
{ salariu = sal;
}
};
class practicant: public student,public angajat{
string nume;
public:
practicant(string &num, string &gr,int a, float n,float sal):student(gr,a,n),angajat(sal){
nume=num;
}
void afisare(){
cout<<nume<<" Grupa "<<grupa<<" \nAnul de studii "<<anul<<" are media "<<nota<<" si salariu/bursa
de "<<salariu<<" lei"<<endl;}
};
void main(){
string nume,prenume, grupa;
cout<<"\nIntrodu numele studentului\n";
cin>>nume;
cout<<"\nIntrodu prenumele studentului\n";
cin>>prenume;
nume+=" "+prenume;
cout<<"\nIntrodu grupa studentului\n";
cin>>grupa;
practicant prac(nume,grupa,2, 9.0,550);
system("CLS");
prac.afisare();
getch();
exit(1);
}
Concluzii
La această lucrare de laborator ni-ma învățat să folosim moștenirea multiplă în proiectele noasre. Am
observat că aceasta nu diferă de moștenirea simplă, însă trabuie să gîndim mai bine modul în care se
accesează obiectele claselor de bază deoarece la acest tip de moștenire pot fi cazuri cînd e nedeterminat
variabilele cărei clase de bază trebuiec accesate.
Bibliografie
Sergiu G. Istrati “Programare. Inițializare în limbajele C și C++. Ciclu de prelegeri la disciplina
“Programare”” Chișinău U.T.M. 2003