Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

абстрактный класс как реализовать данные, над которыми методы выполняют какие-либо действия - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стоит ли учить С++ параллельно с С#? http://www.cyberforum.ru/cpp-beginners/thread645908.html
Собственно сабж. На шарпе относительно прилично прогаю (вплоть до использования делегатов и событий), но некоторые моменты меня не устраивают (например, то что примитивная "змейка" ест 12 МБ...
C++ генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего генерировать случайным образом массив из 50 элементов. Найти среднее значение, количество элементов меньше среднего, минимальное значение и индексы минимального значения http://www.cyberforum.ru/cpp-beginners/thread645903.html
Результат не выводиться( C++
#include <iostream> int main() { int integer1, integer2, sum; std::cout << "Vvedite pervoe celoe chislo\n"; std::cin >> integer1; std::cout << "Vvedite vtoroe celoe chislo\n"; ...
C++ Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива
Задача: Есть структура, содержащая массив и его длину. Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива (i передается как параметр). Написать функцию init, которая...
C++ Как декомпилировать DLL файл http://www.cyberforum.ru/cpp-beginners/thread645804.html
есть dll файл хотелось бы чтобы был похожий исходник на оригинал , а если точней то интересуют части кода в DLL..на счёт шифровки файла не в курсе
C++ Класс функция(линейная или квадратичная) Описать класс Математическая функция.Функция может быть линейной y=ax+b или квадратичной y=a*x*x+bx+c. Данные класса:аргумент,параметры,значение ф-ий. Методы должны обеспечивать... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
11.09.2012, 18:52
diga, таблица произвольного вида - это абстракция, сродни транспортному средству. Если вам скажут "соберите мне, пожалуйста, транспортное средство", что вы будете делать? Транспортным средством может быть как автомобиль, так и самокат. Это я к тому, что невозможно собрать транспортное средство, как и реализовать таблицу произвольного вида. Зато любое транспортное средство (для простоты будем иметь ввиду наземное колёсное транспортное средство) умеет ехать, т.е. предоставляет некий интерфейс. А вот каждое конкретное транспортное средство едет уже по-своему. Тем более вам явно говорят - абстрактный класс. Экземпляров абстрактного класса создать нельзя. Поэтому абстрактный класс "таблица" долежн только предоставлять интерфейс "печатать", а вот каждая конкретная таблица уже знает, как себя печатать, т.е. реализует интерфейс. Так что структура программы в общем виде будет примерно такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class AbstractTable
{
    // Другие интерфейсные функции (возможно, с реализацией по умолчанию)
    
public:
    virtual void print() const = 0;
};
 
class ConcreteTable : public AbstractTable
{
    // Некоторые служебные методы, реализацию других интерфейсных методов
    
public:
    virtual void print() const
    {
        // Реализация распечатки конкретной таблицы
    }
};
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru