Dana jest klasa Zbior (strona.1) oraz funkcja main( ) (strona.2):
uzupełnij brakujące miejsca w programie
uzupełnij program o brakujące funkcje operatorowe tak aby kod funkcji main() mógł się wykonać
poprawie zgodnie z zasadą działania zastosowanych operatorów
FUNKCJE OPERATOROWE O ILE TO MOŻLIWE JAKO FUNKCJE SKAADOWE KLASY z
DEFINICJ NA ZEWNTRZ KLASY & K :: operator+( & ) - inne będą traktowane jako błąd !!!
//=======================================
#define MOJTYP double
#define DANE_SIZE 10
typedef unsigned short int USINT
//=======================================
class Zbior{
private:
MOJTYP* m_Tab1D;
USINT m_Dane[ DANE_SIZE ];
const unsigned int m_uSize;
private:
void Wypelnij( MOJTYP* pTab, unsigned int a_uSize, MOJTYP var ){
for( unsigned int i = 0; i < a_uSize; ++i )
pTab[i] = var;
}
public:
// uzupełnij brakujące konstruktory
Zbior():m_uSize(5){
m_Tab1D = new MOJTYP[m_uSize];
this->wypelnij( m_Tab1D, m_uSize, 2.2 );
for( unsigned int i = 0; i < DANE_SIZE; ++i )
m_Dane[i] = (USINT)(1);
}
~Zbior(){
delete [] m_Tab1D;
}
void wyswietl( ){
for( unsigned int i = 0; i < m_uSize; ++i )
cout << m_Tab1D[i] << " " ;
cout << endl << "--------------------------" << endl;
for( unsigned int i = 0; i < DANE_SIZE; ++i )
cout << m_Dane[i] << " " ;
cout << endl << "==========================" << endl;
}
// uzupelnij o brakujace skladowe funkcje operatorowe
};
//=======================================
// TUTAJ WSTAW DEFINICJE FUKCJI OPERATOROWYCH
//=======================================
int main(){
Zbior a;
Zbior b(a);
Zbior c(b);
MOJTYP dZ = -1.0;
unsigned int var = 6;
a.wyswietl();
b.wyswietl();
c.wyswietl();
a = b + c; // nowe operatory +2 (Zbior = Zbior)(Zbior = Zbior + Zbior)
a.wyswietl();
b.wyswietl();
c.wyswietl();
c = b * var; // nowe operatory +1 (Zbior = Zbior * unsigned int)
a.wyswietl();
b.wyswietl();
c.wyswietl();
c = c / (-0.75); // nowe operatory +1 (Zbior = Zbior / double)
a.wyswietl();
b.wyswietl();
c.wyswietl();
a = 1.0 / c; // nowe operatory +1 ( Zbior = ( double / Zbior ) )
a.wyswietl();
b.wyswietl();
c.wyswietl();
b = dZ; // nowe operatory +1 ( Zbior = MOJTYP )
a.wyswietl(); // wpisz do tablicy obiektu c wartości ze zmiennej dZ
b.wyswietl();
c.wyswietl();
c = -b + a; // nowe operatory +1 ( Zbior = -Zbior )
a.wyswietl();
b.wyswietl();
c.wyswietl();
float suma_elementow = (float)(c); // nowe operatory +1 ( float = Zbior )
// suma elementow m_Tab1D !!!
cout << "Suma wszystkich elementow tablicy2D w w obiekcie c = " << suma_elementow << endl;
return 0;
};
Wyszukiwarka
Podobne podstrony:
zajecia 06 grupa 02szajecia 06 grupa 03szajecia 06 grupa 026zajecia nr 8 grupa 03zajecia nr 5 grupa 04zajecia 10 grupa 04xzajecia 11 grupa 03czajecia 10 grupa 01xzajecia nr 5 grupa 03zajecia 07 grupa 017zajecia 11 grupa 022zajecia nr 6 grupa 04zajecia 09 grupa 01zzajecia 08 grupa 03fzajecia 12 grupa 013zajecia 07 grupa 03dwięcej podobnych podstron