Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВ_Прог_1курс_2n1часть.doc
Скачиваний:
11
Добавлен:
13.04.2015
Размер:
735.74 Кб
Скачать

6.7 Контрольний приклад

//Пример базового шаблонного класса с виртуальными методами

//и порожденного наследника с определением шаблона

#include <iostream>

#include <string>

using namespace std;

struct TStud

{

string Name;

int Bal;

};

template <typename T>

class TMen

{

protected:

T *mas;

int n;

public:

TMen()

{n=2;mas=new T[n];}

TMen(int k)

{n=k;mas=new T[n];}

TMen(const TMen &Men)

{

if (this==&Men) return ;

this->n=Men.n;

mas=new T[n];

for(int i=0;i<n;i++)

mas[i]=Men.mas[i];

}

virtual ~TMen()

{ delete []mas; }

virtual void input()=0;

virtual void output()=0;

};

class Stud :public TMen<TStud>

{

public:

Stud():TMen<TStud>(){;};

Stud(int k):TMen<TStud>(k){;};

Stud(const Stud &St):TMen<TStud>(St){;};

virtual void input()

{

cout<<"Input info for "<<n <<" students"<<endl;

for(int i=0;i<n;i++)

{

cout<<"Input name: ";

cin>>mas[i].Name;

cout<<"Input bal: ";

cin>>mas[i].Bal;

}

};

virtual void output()

{

for(int i=0;i<n;i++)

cout<<mas[i].Name<<'\t'<<mas[i].Bal<<'\n';

};

};//class Stud

int main(int argc, char* argv[])

{

Stud st1(3);

st1.input();

Stud st2(st1);

st2.output();

cin.get();

cin.get();

return 0;

}

//---------------------------------------------------------------------------

Рекомендована література

  1. Павловская Т.А. С/С++. Программирование на языке высокого уровня — СПБ Питер.: 2004., — 461 с.

  2. Франка П. C++: учебный курс. - СПб.: Питер, 2003. — 521 с.

  3. Сабуров С.В. Языки программирования C и C++. М.: Букпресс, 2006. 647 с.

  4. Керниган Б., Ритчи Д. Язык программирования Си: Пер. с англ. — М.: Финансы и статистика, 1992. — 272 с.

  5. Страуструп Б. Язык программирования С++. Часть 1. — Киев: "ДиаСофт", 1993. — 264 с.

  6. Страуструп Б. Язык программирования С++. Часть 2. — Киев: "ДиаСофт", 1993. — 296 с.

  7. Подбельский В.В. Язык Си+: Учеб. пособие. — М.: БИНОМ, 1995. — 400 с.

  8. Глушаков С.В. и др. Язык программирования С++. —Харьков: Фолио, 2002. — 500 с.

  9. Х.М.Дейтел, П.Дж. Дейтел Как программировать на С++.- М.:ЗАО «Издательство БИНОМ», 2000 г. — 1024 с.

  10. Ван Тассел Д. Стиль, разработка, отладка и испытание программ.-M.:Мир,1985.

  11. Проценко В.С. Техніка програмування мовою С. —Навч. Посібник. –К.:Либідь, 1993. — 224с.

  12. Жешке Р. Толковый словарь стандарта языка Си: — С.-Петербург: Питер, 1994. — 221с.

  13. Язык Си. Книга ответов: Пер. с англ. — М.: Финансы и статистика, 1994.— 160 с.

Навчальне видання

МЕТОДИЧНІ ВКАЗІВКИ

до лабораторних та практичних робіт з дисципліни

“Програмування”

для студентів денної форми навчання спеціальності

_____________

.

Упорядники: ЛЮБЧЕНКО Валентин Анатолійович

ЯКОВЛЕВА Олена Володимирівна

РУДЕНКО Діана Олександрівна

Відповідальний випусковий Є.П.Путятін

Редактор В.І.Заславська

Комп’ютерна верстка Л.Ю.Свєтайло

План 2006, поз. 29

Підп. до друку 8.07.06. Формат 60х84 1/16. Спосіб друку-ризографія

Умов. друк. арк. 2,6. Облік вид. арк.2,3. Тираж 75 прим.

Зам.№ 1-122. Ціна договірна.

ХНУРЕ. 61166 Харків, просп. Леніна, 14.

Віддруковано в навчально-науковому

видавничо-поліграфічному центрі ХНУРЕ