При разработке программы использовать механизм позднего связывания (виртуальные функции). Иерархия должна состоять из четырех-пяти классов. Использовать множественное наследование. Разработаная программа должна иметь возможности: а) добавлять объекты в массив, удалять и редактировать их; б)осуществлять сохранение результатов выполнения программы в файле и считывания их из файла; в) выводить результаты на экран в виде таблицы. г)осуществлять сортировку по указанному полю, осуществлять ввод/вывод через поток д) программа должна содержать конструкторы с параметрами и деструкторы (использовать динамический захват памяти и косвенную адресацию).
Создать программу с классом Sport порождающий обьекты - данные о конкретном участнике спортивных соревнований по футболу Класс включает в себя следующие элементы - Ф И О игрока - игровой номер - возраст - рост - вес конструктор с параметрами деструктор; метод просмотра текущего состояния обьектов; Производный класс Dop содержит следующие данные: - количество матчей; - количество голевых передач; - количество голов; - переопределенную функцию просмотра состояния объектов.
| Код | //---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//#include "stdafx.h" #include <iostream> #include <string>
using std::cout; using std::cin; using std::string;
class Sport { public: string nameplayer; int rost1; int age; int number; int masa; Sport() { nameplayer="noname"; rost1= 0 ; age= 0; number=0; masa=0; }
~Sport() { nameplayer="noname"; rost1= 0 ; age= 0; number=0; masa=0; }
void PRINT () { cout << "name:\t" << nameplayer << "\nrost:\t" << rost1 << "\nvozrast:\t" << age << "\nves:\t" << masa << "\nnumber:\t" << number << "\n"; }
void setsport (string name, int count, int voz, int num, int mas) { nameplayer = name; rost1=count ; age = voz; number = num; masa = mas; } virtual void print() {} friend int countnum (const Sport&); friend int countnum (const Sport& d) { return d.countnum; } };
class Dop: Sport { int match; int pasi; int gols;
public: Dop():Sport() { match = 0; pasi=0; gols=0; } ~Dop() {}
void setDop (string name, int count, int voz, int num, int mas, int matchi, int pasi1, int gols1) { Sport::nameplayer = name; Sport::rost1 = count; Sport::age = voz; Sport::number = num; Sport::masa = mas; match = matchi; pasi= pasi1; gols= gols1; }
void print() { cout << "name:\t" << nameplayer << "\nrost:\t" << rost1 << "\nvozrast:\t" << age << "\nves:\t" << masa << "\nnumber:\t" << number << "\n"; << "\nigri:\t" << match << "\nposov:\t" << pasi << "\ngoli:\t" << gols; } };
/*void main () { Detal a1; a1.setDetal("r", 10, 1); a1.PRINT(); a1.setDetal("gayka", 10, 1); a1.PRINT(); a1.setDetal("bolt", 15, 2); a1.PRINT(); a1.setDetal("grover", 10, 1); a1.PRINT(); a1.setDetal("vint", 11, 3); a1.PRINT(); a1.setDetal("vtulka", 19, 4); a1.PRINT(); a1.setDetal("kerno", 1, 5); a1.PRINT(); a1.setDetal("kluch", 3, 5); a1.PRINT();
Det1 d1; d1.setDet1("d1", 10, 1, true, 12); d1.print(); d1.setDet1("d2", 10, 1, false, 12); d1.print(); d1.setDet1("d3", 10, 1, true, 12); d1.print(); d1.setDet1("d4", 10, 1, false, 12); d1.print(); d1.setDet1("d5", 10, 1, true, 12); d1.print(); d1.setDet1("d6", 10, 1, true, 12); d1.print();
}*/ //---------------------------------------------------------------------------
|
буду очень признательна если ктото поможет, main передрала из чужого задания. вы последняя надежда. зарание благодарна. |