Mercoledi' 30 Giugno 2004 : 18 51 4 - zito da pcmennea.ba.infn.it 193.206.185.100
#include < iostream.h>
class StatusPrinter{
public:
virtual void printStatus()=0;
};
class Counter {
public:
Counter():value(0){};
Counter(int n):value(n){};
int getValue() {
return value; }
void increment(){value++;}
protected:
int value;
};
class Accumulator:public StatusPrinter {
public:
Accumulator():sum(0){}
Accumulator(int n):sum(n){}
void add(int n){sum += n;}
int getSum(){return sum;}
void printStatus(){cout << "Sono un accumulatore e il mio contenuto e' "<< sum << endl;}
private:
int sum;
};
class BigCounter :public Counter , public StatusPrinter{
public:
void increment(){Counter::increment();Counter::increment();}
void printStatus(){cout << "Sono un contatore e il mio contenuto e' "<< Counter::value < };

main() {

BigCounter *c1 =new BigCounter();
Accumulator *c2 = new Accumulator();

cout << c1->getValue() << endl;
cout << c2->getSum() << endl;
c1->increment();c2->add(5);
c1->printStatus();c2->printStatus();
Counter * c3 = static_cast (c1);
cout << c3->getValue() << endl;
StatusPrinter * c4 = dynamic_cast (c1);
if(c4 != 0) c4 ->printStatus();
}
Giovedi' 1 Luglio 2004 : 8 46 3 - zito da labmul3.fisica.uniba.it 193.204.188.60
Object a;
/* carico una moto in a */

Moto m = (Moto) a;

(int)

Moto m = static_cast (a);

Giovedi' 1 Luglio 2004 : 10 37 4 - zito da labmul3.fisica.uniba.it 193.204.188.60
#include < iostream.h>
#include < string.h>
#include < vector.h>

class Dipendente {
public:
Dipendente (string n, string q, float s) : nome(n), qualifica (q), stipendio(s) {}
Dipendente():nome("Pinco Pallino"), qualifica ("segretario"), stipendio (2000.0) {}
virtual ~Dipendente() {}
virtual void stampa ()=0;
protected:
string nome;
string qualifica;
float stipendio;
};


class Impiegato : public Dipendente {
public:
Impiegato (string n, string q, float s): Dipendente (n,q,s) {}
void stampa () {
cout<<"Sono " << Dipendente::qualifica << " " << Dipendente::nome << "con stipendio di" << Dipendente::stipendio << "euro" << endl; };
};

class Manager : public Dipendente{
public:
Manager (string n,string q, float s, int nstanza):Dipendente(n,q,s),
stanza(nstanza){}
void stampa () {
cout<<"Sono " << Dipendente::qualifica << " " << Dipendente::nome << "con stipendio di" <<
Dipendente::stipendio << "euro ; il mio ufficio e' " <<
stanza << endl;
}
private:
int stanza;

};

int main () {
vector < Dipendente*> staff;
Impiegato *a = new Impiegato (string("Mario Rossi"), string("Capufficio"), 1500.0f);
//a->stampa();
staff.push_back(a);
Manager * b = new Manager(string("Giuseppe Verdi"),
string("Capo Sezione Vendite"), 3000.0f,250);
staff.push_back(b);
// b->stampa();
staff.push_back(new Impiegato(string ("Mario Verdi") ,string("segretario"),
1000.0f));
for (vector< Dipendente*>::iterator pos = staff.begin();
pos != staff.end(); pos++){
//Impiegato * imp = dynamic_cast(*pos);
//if(imp!=0)imp->stampa();
(*pos)->stampa();}

return 0;

}
Giovedi' 1 Luglio 2004 : 13 18 4 - d da host26-158.pool82191.interbusiness.it 82.191.158.26

No comment

Martedi' 6 Luglio 2004 : 13 43 4 - zito da pcmennea.ba.infn.it 193.206.185.100
nuova serie di quiz
Risultati ottenuti: Risultato test della lezione 7

Risultati test lezione 7

1        0
2        3
3        0
4        4
5        5
6        3
7        3
8        0
9        5
10        7
11        0
12        6
13        5
14        0
15        0