QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente informatica

Programare orientata pe obiecte. Clase compuse



Programare orientata pe obiecte. Clase compuse


Scopul lucrarii: Familiarizarea cu notiunile de clasa compusa, lista de initializare, pseudo-constructori.

Desfasurarea lucrarii: Se vor scrie programe in cadrul carora se vor utiliza elementele principale ale compunerii claselor:

l    Clase compuse;



l    Folosirea listei de initializare in cadrul functiilor constructor ai unei clase compuse;

l    Pseudo-constructori;

l    Utilizarea modificatorilor de acces in cadrul claselor compuse.

Se vor utiliza paradigmele de abstractizare a datelor si compunere a claselor, aplicatiile avand fisiere header pentru declararea claselor si fisiere sursa pentru implementarea functiilor membre, precum si un fisier sursa pentru testare. Se vor identifica si proiecta modulele corespunzatoare pentru rezolvarea fiecarei aplicatii.

Declararea si folosirea claselor compuse

Prin agregarea unor obiecte instantiate din clase deja construite, intr-o clasa noua se defineste o clasa compusa.


Exemplu:

// fisierul header ce contine declaratiile claselor

#include <iostream>

#include <string>

using namespace std;


class CStudent

// functia modificator pentru campul nrMatricol

void setNrMatricol(int nrMatricol)

// functia modificator pentru campul medie

void setMedie(float m)

// functia accesor pentru campul medie

float getMedie()



// clasa compusa CGrupa ce contine un tablou de obiecte de tip CStudent

class CGrupa


// functia destructor

~CGrupa()

// declaratia functiei membru pentru citirea datelor studentilor din grupa

void citireStudenti();

// declaratia functiei membru pentru ordonarea studentilor din grupa dupa medie

void ordonareStudenti();

// declaratie functia membru pentru afisarea studentilor din grupa

void afisareStudenti();



// fisierul sursa pentru implementarea metodelor claselor

#include 'test.h'

//functia constructor implicit

CStudent::CStudent()

//functia constructor general

CStudent::CStudent(string nume, int nrMatricol, float medie)

// functia membru pentru citire a datelor unui student

void CStudent::citireDateStudent()

// functia membru pentru afisare a datelor unui student

void CStudent::afisareDateStudent()

// functiei membru pentru citirea datelor studentilor din grupa

void CGrupa::citireStudenti()

// functiei membru pentru ordonarea studentilor din grupa dupa medie

void CGrupa::ordonareStudenti()



// functia membru pentru afisarea studentilor din grupa

void CGrupa::afisareStudenti()


// fisierul sursa pentru testarea clasei compuse CGrupa

#include 'test.h'


int main()


Exemplu de utilizare a listei de initializare in cadrul functiilor constructor ai unei clase compuse:


class A



//clasa compusa B

class B



In cadrul unei clase compuse pot fi accesati pentru obiectele componente numai membrii de tip public. Pentru a accesa si membrii de tip private putem utiliza doua metode:

1.  Implementarea in cadrul claselor de functii accesor/modificator publice (ca in cazul clasei CStudent din exemplul de mai sus);

2.  Declararea clasei compuse ca si clasa prietena claselor componente.


Teme propuse:

1. Sa se modifice problema 4 (laboratorul 3) prin crearea unei noi clase asociata masinii Loto.
 
 2. Sa se modifice problema 6 (laboratorul 3), utilizand clasa ISBN din problema 5 (laboratorul 3) in cadrul clasei cartilor.
 
 3. Sa se modifice problema 6 (laboratorul 3), prin crearea unei clase suplimentare asociata bibliotecii.
 
 4. Sa se modifice problema 2, prin crearea unei clase suplimentare asociata bibliotecii.
 
 5. Sa se modifice problema 7 (laboratorul 3) prin crearea unei noi clase asociata unei activitati dintr-o saptamana. O activitate consta dintr-un sir de caractere reprezentand numele activitatii, precum si din data calendaristica a acesteia.
 
 6. Sa se modifice problema 7 (laboratorul 3) prin crearea unei noi clase reprezentand agenda electronica.
 
 7. Sa se modifice problema 5 prin crearea unei noi clase reprezentand agenda electronica.


Nu se poate descarca referatul
Acest document nu se poate descarca

E posibil sa te intereseze alte documente despre:


Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site.
{ Home } { Contact } { Termeni si conditii }