, . , . . , , . - , (House) , . ( Paint) .
House Paint, . Paint , .
(House)
//
class House
{
private:
String id; //
public:
//.
House (void)
{
id = ;
}
// .
virtual void Paint (void)
{
cout << id;
}
};
, . Paint Paint. WoodFrameHouse . houses.h.
Class WoodFrameHouse: public House
{
private:
//
String id;
public:
//.
WoodFrameHouse (void): House()
{
id =
}
// id
// Paint
virtual void Paint (void)
{
cout << << id << ;
House::Paint();
}
};
, contractorList (), House. . , WoodFrameHouse (), StuccoHouse () VinySidedHouse (). , :
contractorList
. . , , , , .
1.2.
contractorList Paint . , , Paint, . .
|
|
#include <iosream.h>
#include random.h //
#include houses.h //
void main (void)
{
//
House *contractorList [5];
RandomNumber rnd;
// ,
for (int i=0; i<5; i++)
// 0, 1 2
// contractorList
switch (rnd.Random (3))
{
case 0: contractorList [i] = new WoodFrameHouse;
break;
case 1: contractorList [i] = new StuccoHouse;
break;
case 2: contractorList [i] = new VinySidedHouse;
break;
}
// Paint.
//
//
//
for (i=0; i<5; i++)
contractorList [i] -> Paint ();
}
/*
< 1.2>
*/