![]() |
Наследование и иерархия классов
Контрольные вопросы:
Одиночное и множественное наследование, методы наследования, виртуальная функция, чисто виртуальная функция, абстрактный класс, виртуальное наследование, неоднозначность имен при наследовании. Задание: Создать и протестировать следующие классы 1. Абстрактный класс. Создать абстрактный класс Container, в котором определить чисто виртуальные функции для добавления, удаления и определения количества элементов в контейнере. 2. Класс одиночного наследования. a) Модифицировать класс динамической структуры данных,содержащей строки (л.р. №2), чтобы он был производным от класса Container. б) Создать 2 различных класса, производные от класса динамической структуры, позволяющие сортировать и фильтровать выходные данные. Для этого вводятся виртуальные функции, соответственно, для сортировки – функция для сравнения 2 строк, для фильтрации – предикат, определяющий, будет ли строка присутствовать в выборке фильтра. 3. Класс множественного наследования. Создать класс, осуществляющий одновременно сортировку и фильтрацию. Варианты заданий: Сортировка по возрастанию строк Фильтр 1. четные целые числа, содержащиеся в строке помагите пожалуйста очень надо. я бы сам может быть чтото сделал но у меня сечас на работе полный завал выручайте мне через 4дня надо это сдать очень надо буду плагодарен |
Wwe2012, увы, это не форум фрилансеров. Можем помочь советом или в разборе предложенного кода.
|
Delirium чесно я воше непойму с чего начать сдесь. я воше не понял смысл задания. растолкуйте если не сложно просто мне это надо сдать через4 дня на работе завал. просто не когда. если не сложно можети сделать очень надо
|
Цитата:
Цитата:
Цитата:
Цитата:
У меня нет времени сидеть и писать этот абстрактный код, показывающий возможности языка. Если найдется кто-нибудь, кому нечем заняться, и напишет код, честь ему и хвала, если нет - тема будет закрыта. |
Вот Ззадание сделал проверти код программы
#include <iostream.h> #include <conio> class test { protected: enum {size=256}; char* mas[size]; int I; public: test(){I=0;} void add(char* c) { mas[I++]=c; } }; class sort: public test { private: char* temp; char** Ptr; public: sort() {Ptr = mas;} void dis(); }; void sort::dis() { char* temp; char var; ////////////////////////////////////// cout << "Nesortirovanniy massiv:\n"; for(int j=0; j<I; j++) cout << Ptr[j] << endl; ////////////////////////////////////// for(int i=0; i<I; i++) { for(int u=0; u<I-1; u++) { if(strlen(Ptr[u]) > strlen(Ptr[u+1])) { temp = Ptr[u]; Ptr[u] = Ptr[u+1]; Ptr[u+1] = temp; } } int v1=strlen(Ptr[i]); for(int t=0; t<v1; t++) { for(int k=0; k<v1; k++) { if((Ptr[i][k]-'0')%2==0) { var = Ptr[i][k]; Ptr[i][k] = Ptr[i][t]; Ptr[i][t] = var; } } } } //////////////////////////////////////// cout << "\n\nSortirovanniy massim:\n"; for(int j=0; j<I; j++) cout << Ptr[j] << endl; //////////////////////////////////////// cout << "\n\nTolko chetniye:\n"; for(int j=0; j<I; j++) { for(int i=0; i<strlen(Ptr[j]); i++) { if((Ptr[j][i]-'0')%2==0) cout << Ptr[j][i]; } cout << endl; } } void main() { sort t; //ввод данных t.add("123"); t.add("12345"); t.add("123456"); t.add("32454634534"); t.add("9867561"); t.add("9876342"); //вывод на дисплей t.dis(); getch(); } |
Время: 17:35. |
Время: 17:35.
© OSzone.net 2001-