Реферат: Методы программирования в C++

{double d1,d2;

getdim(d1,d2);

return d1*d2;

}

};

class triangle: public area

{ public:

double getarea()

{double d1,d2;

getdim(d1,d2);

return 0.5*d1*d2;

}

};

int main()

{area *p;

rectangle r;

triangle t;

r.setarea(3.3,4.5);

t.setarea(4.0,5.0);

p=&r;

cout<< “Площадьпрямоугольника:”<<p->getarea()<<’\n’;

p=&t;

cout<< “Площадьтреугольника:”<<p->getarea()<<’\n’;

return 0;

}

Теперь то, что функция getarea() является чистой виртуальной, гарантирует ее обязательную подмену в каждом производном классе.

4. Виртуальные классы

При таком наследовании может возникнуть проблема в наследовании двух экземпляров полей класса A в классе D через B и C (будет занята лишняя память и возникнет путаница). Чтобы это избежать, нужно при создании B и C объявить класс виртуальным.

class B : virtual public A

{ }

К-во Просмотров: 484
Бесплатно скачать Реферат: Методы программирования в C++