Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Double r ;




public:

Circle (double rVal =0): r(rVal) {}

void setRadius(double rVal) { r = rVal; }

double getRadiusO { return r; } .double Area() { return pi*r*r; }

void showData();

};

class Cylinder: public Circle { protected:

double h;

public:

Cylinder(double hVal = 0, double rVal = 0)

: getHeight(hVal), Circle(rVal) { }

void setHeight(double hVal) { h = hVal; }

double getHeight() { return h; }

double Area() { return 2*Circle::Area()+2*pi*r*h; }

void showData();

void Circle::showData() {

cout “ "Радиус окружности = " “ getRadius() “ endl

“ "Площадь круга = " “ Area О “ endl “ endl;

}

void Cylinder::showData()

{

cout “ "Радиус основания = " “ getRadius() “ endl

“ "Высота цилиндра = " “ getHeight() “ endl

“ "Площадь поверхности = " “ Area () “ endl;

}

void main()

{

Circle circle(2);

Cylinder cylinder(10, 1);

circle.showData ();

cylinder.showData();

Листинг 3.8. Простая иерархия классов окружности и цилиндра.

Объявление класса Circle содержит единственный член данных r, конструктор и ряд методов. При создании объекта конструктор инициализирует член данных r начальным значением радиуса окружности. Отметим новый синтаксис конструктора: при вызове он может обратиться к конструктору базового класса, а также к любому члену данных, указанному после двоеточия. В нашем случае член данных r "создается" обращением к нему с параметром rVal и инициализируется нулевым значением.

Метод setRadius устанавливает, a getRadius возвращает значение члена данных г. Метод Area возвращает площадь круга. Метод showData выдает значения радиуса окружности и площади круга.

Класс Cylinder, объявленный как производный от Circle, содержит единственный член данных h, конструктор и ряд методов. Этот класс наследует член данных г для хранения радиуса основания цилиндра и методы setRadius и getRadius. При создании объекта конструктор инициализирует члены данных г и h начальными значениями. Отметим новый синтаксис конструктора: в нашем случае член данных h инициализируется значением аргумента hVal, а член данных г - вызовом конструктора базового класса Circle с аргументом rVal.

Функция setHeight устанавливает, a getHeight возвращает значение члена данных h. Circle::Area перегружает унаследованную функцию базового класса, чтобы теперь возвращать площадь поверхности цилиндра. Функция showData выдает значения радиуса основания, высоты и площади поверхности цилиндра.

Функция main создает окружность circle класса Circle с радиусом 2 и цилиндр cylinder класса Cylinder с высотой 10 и радиусом основания 1, а затем обращается к showData для вывода параметров созданных объектов:

Радиус окружности = 2 Площадь круга = 12.566

Радиус основания = 1 Высота цилиндра = 10 Площадь поверхности = 69.115





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 474 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2497 - | 2246 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.