Sunteți pe pagina 1din 3

1

LABORATOR Nr. 1-2


Clase, constructori i destructori
Creai proiectul Lab1 de tip Win32 Console Application.

2
1. Adugai proiectului o clas denumit "om" (Class View / New Class, de tip
Generic Class). Un obiect aparinnd clasei om va avea trei membri date: nume,
hi g (numele, nlimea i greutatea). Adugarea membrilor clasei se va realiza
selectnd n meniul contextual care se afieaz la selectarea clasei cu m.b. drept
opiunea AddMemberVariable sau AddMemberFunction, dup caz.

Soluie:
Fiierul om.h
class om
{
char *nume;
float h,g;
public:
void creare(char *, float,float);
char *danume();
void inume(char *);
float dah();
void ih(float);
float dag();
void ig(float);
};

void om::inume(char *num)


{
nume = num;
}
float om::dah()
{
return h;
}
void om::ih(float a)
{
h=a;
}
... (idem dag() si ig())

Fiierul om.cpp
Fiierul Lab1.cpp
#include <string.h>
#include "om.h"
void om::creare(char *num, float in, float
gr)
{
nume=num;
h=in;
g=gr;
}
char * om::danume()
{
return nume;
}

#include <iostream.h>
#include "om.h"
main()
{
om Vasile, Ioan;
Vasile.creare("Vasile", 1.78, 88);
Ioan.creare("Ioan", 1.82, 91);
cout << "Numele:" <<
Vasile.danume() << "\nInaltimea: " <<
Vasile.dah()<< endl;
}

2. ncercai s modificai valoarea nlimii unuia dintre obiectele create folosind o


simpl atribuire:
Ioan.g = 87;

Merge? De ce?
3. Scriei pentru clasa creat doi constructori: unul fr parametri i unul care s
nlocuiasc funcia creare().
4. Creai un obiect folosind alocarea dinamic a memoriei.
5. Adugai clasei funcia afiez() care scrie toate caracteristicile obiectului pentru
care a fost apelat.
6. Adugai clasei funcia coincide() care permite verificarea coincidenei a dou
obiecte. Se va testa coincidena nlimii i greutii.
7. Adugai folosind ClassView o clas suplimentar, nod, avnd membrii:
Fiierul nod.h
class nod
{
om o;
nod *nodurm;
public:
nod(om);
~nod();
};
Adugai n programul principal declaraiile:
nod primul;
nod * nodcurent;
i creai un nod pentru Vasile i un nod pentru Ioan apelnd constructorul clasei.
Generalizai programul principal astfel nct s permit crearea unei liste simple de nume.
Numele i caracteristicile persoanei vor fi citite de la tastatur. Dup ncheierea
introducerii listei (marcat prin introducerea unui ir de caractere vid n locul numelui)
parcurgei lista i afiai pe ecran numele persoanelor din list.

S-ar putea să vă placă și