Uzupełnij program o brakujące elementy NIE MODYFIKUJAC funkcji MAIN() i wyswietlInfo( );

// IloscWszystkichDotychczasStworzonych( ) - zwraca zliczoną ilosc wszystkich dotychczas stworzonych

// (to tego miejsca w kodzie) obiektów klasy Pkt (mogą juz nie istniec);

//

// IloscAktywnychObiektow( ) - zwraca aktualna (do tego miejsca w kodzie) aktywnych (tj nie skasowanych)

// ilosc obiektow klasy Pkt; class Pkt{

private:

static unsigned int

m_uIloscWszystkich;

static unsigned int

m_uIloscAktywnych;

public:

float X, Y

public:

Pkt( ){

++m_uIloscWszystkich;

++m_uIloscAktywnych;

// uzpełnic

}

~Pkt(){

--m_uIloscAktywnych;

}

// uzpełnic

};

// uzpełnic

void wyswietlInfoPkt( ){

cout << "Dotychczas stworzono obiektow Pkt = " << Pkt::IloscWszystkichDotychczasStworzonych( ) << endl;

cout << "Ilosc stworzonych aktualnie aktywnych Pkt = " << Pkt::IloscAktywnychObiektow( ) << endl;

}

int main(){

Pkt

A(-2.0f,2), B, C(2,2.0f), D(0,4); Pkt

X(D), X2(B);

Pkt

X1(&A), X3(&B);

wyswietlInfoPkt( ); Odcinek

ab(A,B), bc(B,C), cd(C,D), da(D,A), ca(C,A), ac(A,C); Odcinek

xb(X,B);

wyswietlInfoPkt( );

Trojkat

f1(ab, bc, ca);

Trojkat

f2(ac, cd, da);

wyswietlInfoPkt( ); Pkt* tabPkt = new Pkt[100]; wyswietlInfoPkt( ); delete [] tabPkt; wyswietlInfoPkt( );

float

pole = f1.pole() + f2.pole(); float

dl = xb.dlugosc();

cout << "Suma pol wynosi = " << pole << endl; cout << "Dlugosc wynosi = " << dl << endl; return 0;

}