Lab 9


Lab_9 Dziedziczenie

Stworzyć nowy projekt i dołożyć pliki:

node_coord.h, node_coord.cpp - pobrać z poprzednich zadań

class NODE_COORD

{

double *pcoord; //pcoord[0] - x, pcoord[1] - y, pcoord[2] - z

public:

NODE_COORD() : pcoord(NULL) {}

NODE_COORD(double x, double y, double z);

NODE_COORD(const NODE_COORD &ob);

~NODE_COORD();

NODE_COORD & operator = (const NODE_COORD &praw);

NODE_COORD operator + (const NODE_COORD &ob) const;

friend ostream & operator << (ostream &strm, const NODE_COORD &ob);

void disp();

private:

void alloc();

protected:

void crash();

};

my_vertex.h, my_vertex.cpp:

Klasa my_vertex dziedziczy klasę NODE_COORD i dodaje składową char *str - nazwa wierzchołku. Stworzyć konstruktor sparametryzowany, przekazujący współrzędne do konstruktora klasy bazowej i alokujący pamięć dla str, destruktor, przeciążyć operator =, operator << w strumień cout.

class my_vertex : public NODE_COORD

{

char *str; //title of vertex

public:

my_vertex(double xx, double yy, double zz, char *sstr);

………………………………………….

~my_vertex();

};

Dopisać obsługę klas tak, żeby następujący fragment kodu funkcji main działał poprawnie:

int _tmain(int argc, _TCHAR* argv[])

{

my_vertex vt(0,1,2, "A"), vs(1, 3, 5, "B"), vc(0, 0, 0, "C");

cout << vt << vs << vc;

vc = vt+vs;

cout << vc;

vc = vt;

cout << vc;

system("pause");

return 0;

}

Zastanowić się, jak przeciążyć operator + .



Wyszukiwarka

Podobne podstrony:
spis lab I sem 2010
III WWL DIAGN LAB CHORÓB NEREK i DRÓG MOCZ
Diagnostyka lab wod elektrolit
ZW LAB USTAWY, OCHRONA
LAB PROCEDURY I FUNKCJE
sprzet lab profilografy
sprzet lab mikromanometry
Mechanika Plynow Lab, Sitka Pro Nieznany
Lab 02 2011 2012
PO lab 5 id 364195 Nieznany
lab pkm 4
MSIB Instrukcja do Cw Lab krystalizacja
lab [5] id 258102 Nieznany
lab 8 9 1
lab 3 2 9
IE RS lab 11 solutions
5 MDE lab nr 5 ogniwa fotogalwaniczne
lab pkm 5

więcej podobnych podstron