// Luokka joka tiet„„ montako oliota on olemassa #include char *viikko[] = { "ma","ti","ke","to","pe","la","su" }; class laskuri { int n; public: laskuri(int alkua = '@') { n = alkua; } const laskuri &arvo() const { return *this; } void lisaa() { n++; } void vahenna() { n--; } friend ostream &operator<< (ostream &os, laskuri const &l); }; ostream &operator<< (ostream &os, laskuri const &l) { os << (char)l.n; return os; } class vekotin { static laskuri n; /* has-a */ public: vekotin() { n.lisaa(); } ~vekotin() { n.vahenna(); } laskuri montako() { return n.arvo(); }; }; laskuri vekotin::n; int main(void) { cout << "-----------------\n"; vekotin a; vekotin *p; p = &a; cout << a.montako() << " 1 \n"; p = new vekotin; cout << a.montako() << " 2 \n"; vekotin b; { vekotin c; cout << a.montako() << " 4 \n"; delete p; cout << c.montako() << " 3 \n"; } cout << b.montako() << " 2 \n"; return 0; } /* vekotin i; .... a =+ i;