Documente Academic
Documente Profesional
Documente Cultură
Reutilizarea claselor
Probleme
PROBLEMĂ REZOLVATĂ:
SeparaŃi interfaŃa clasei GradeBook din laboratorul 4 de implementarea ei, iar apoi
demonstraŃi folosirea clasei printr-un exemplu.
REZOLVARE:
// Fisierul gradebk.h
// Definirea clasei GradeBook. Acest fisier prezinta interfata publica
// fara a dezvalui detalii de implementare despre functiile membre ale
// clasei GradeBook, care sunt definite in gradebk.cpp
class GradeBook
{
public:
GradeBook( char* );
void setCourseName( char* );
char* getCourseName();
void displayMessage();
private:
char courseName[50];
};
// Fisierul gradebk.cpp
// Definirea functiilor membre ale clasei GradeBook. Acest fisier contine
// implementarea functiilor membre al caror prototip se afla in gradebk.h
#include <iostream.h>
#include <string.h>
#include "gradebk.h"
1
void GradeBook::setCourseName( char* name )
{
strcpy(courseName,name);
}
char* GradeBook::getCourseName()
{
return courseName;
}
void GradeBook::displayMessage()
{
cout << "Welcome to the grade book for\n" << getCourseName()
<< "!" << endl;
}
#include <iostream.h>
#include "gradebk.cpp"
int main()
{
GradeBook gradeBook1( "CS101 Introducere in C++" );
GradeBook gradeBook2( "CS102 Structuri de date in C++" );
gradeBook1.displayMessage();
return 0;
}
2
5. Procesul de compilare şi link-editare care generează aplicaŃia finală
PROBLEME PROPUSE:
2. Acelaşi lucru ca mai sus, doar că veŃi alege o aplicaŃie care să conŃină cel puŃin două clase,
între care să fie o relaŃie de moştenire.