1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include <string>
using namespace std;
class Okno {
protected:
int x1,y1,x2,y2;
string nazwa;
public:
};
class NieDesktop : public Okno{
protected:
Okno& ojciec;
private:
NieDesktop(const NieDesktop&);
public:
NieDesktop(Okno& _ojciec) : ojciec(_ojciec){}
};
class OknoWlasciwe : public NieDesktop{
OknoWlasciwe(const OknoWlasciwe&);
public:
OknoWlasciwe(Okno&,int,int,int,int,string);
};
OknoWlasciwe::OknoWlasciwe(Okno& _ojciec,int _x1,int _y1,int _x2,int _y2,string _nazwa)
:NieDesktop(_ojciec){
x1=_x1;
y1=_y1;
x2=_x2;
y2=_y2;
nazwa=_nazwa;
}
class Desktop : public Okno{
private:
Desktop(const Desktop&);
public:
Desktop();
void OtworzOkno(int,int,int,int,string);
};
Desktop pulpit(); //deklaracja pulpitu jako zmiennej globalnej
Desktop::Desktop(){
nazwa="desktop";
x1=y1=0;
x2=y2=1000000;
}
void Desktop::OtworzOkno(int _x1,int _y1,int _x2,int _y2,string _nazwa){
Okno* r = new OknoWlasciwe(pulpit,_x1,_y1,_x2,_y2,_nazwa);
}
int main(){}
|