Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
236
Добавлен:
20.03.2016
Размер:
17.83 Mб
Скачать

Глава 8. Классы в С++. Объектно-ориентированное программирование

151

//обработка класса в головной программе int main()

{

produce izd; //определение объекта из класса (экземпляр класса) izd.setpart(100, 200, 250.5); //вызов метода класса izd.show(); //вывод данных

_getch();

}

Рис. 8.3. Результат работы программы листинга 8.3

Этот небольшой созданный нами класс позволяет выводить на экран характеристики изделия, описанного в нем.

Пример 3

Используем класс, созданный в примере 2, для создания нового класса — наследника класса из примера 2. Новый класс должен будет задавать дополнительную характеристику изделия — его форму. Пример программы приведен в листинге 8.4, результат работы программы — на рис. 8.4.

Листинг 8.4

// 8.3_2011.cpp

#include "stdafx.h"

#include <stdio.h> //для printf() #include <conio.h> //для _getch() using namespace System;

//детали изделия в качестве объектов (экземпляров класса)

class produce //начало определения класса

{

private:

int modelnumber; //номер изделия int partnumber; //номер детали float cost; //стоимость детали public:

//установка данных //функция-член класса

//присваивает данным класса значения своих параметров

152

Часть I. Изучение языка С/С++

 

void setpart(int mn, int pn, float c)

{

 

modelnumber = mn;

 

partnumber = pn;

 

cost = c;

 

}

 

void show() //вывод данных

 

{

 

printf("The Number of the Model is

%d\n",modelnumber);

printf("The Number of the Part is

%d\n",partnumber);

printf("The Cost of the Part is

%.2f\n",cost);

}

 

};

 

//объявление класса-наследника с новыми членами: class MoreProduce : public produce

{

public:

char *ProduceForm; //описание формы изделия void FormDecl(char *s)

{

ProduceForm=s;

}

void show1()

{

printf("The ProduceForm is %s\n",ProduceForm);

}

};

//обработка класса в головной программе int main()

{

MoreProduce newizd;

newizd.setpart(100,200,250.5);

newizd.FormDecl("Square");

newizd.show();

newizd.show1(); _getch();

}

Рис. 8.4. Результат работы программы листинга 8.4