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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стоит ли учить С++ параллельно с С#? http://www.cyberforum.ru/cpp-beginners/thread645908.html
Собственно сабж. На шарпе относительно прилично прогаю (вплоть до использования делегатов и событий), но некоторые моменты меня не устраивают (например, то что примитивная "змейка" ест 12 МБ памяти). Вопрос: стоит ли учить С++. Я понимаю, что это 2 крайности: в шарпе к памяти относятся крайне наплевательски, тут же наоборот, нужно все время следить за ней. Вопрос в том: даст ли мне знание С++...
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"; std::cin >> integer2;
C++ Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива
Задача: Есть структура, содержащая массив и его длину. Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива (i передается как параметр). Написать функцию init, которая бы записывала в этот массив случайные числа без повторений. Для генерации случайных чисел использовать функцию rand. Случайные числа должны быть не больше длинны массива умноженной на два. Для доступа...
C++ Как декомпилировать DLL файл http://www.cyberforum.ru/cpp-beginners/thread645804.html
есть dll файл хотелось бы чтобы был похожий исходник на оригинал , а если точней то интересуют части кода в DLL..на счёт шифровки файла не в курсе
C++ Класс функция(линейная или квадратичная) Описать класс Математическая функция.Функция может быть линейной y=ax+b или квадратичной y=a*x*x+bx+c. Данные класса:аргумент,параметры,значение ф-ий. Методы должны обеспечивать миним.функц.объекта. 2.Перегрузить операцию сложения ф-ий с использованием операции метода класса, а опер. вычитания с использованием дружественной ф-ии. 3.перегрузить унарную операцию ++ для инкремента ведущего... подробнее

Показать сообщение отдельно
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.09.2012, 07:36     абстрактный класс как реализовать данные, над которыми методы выполняют какие-либо действия
Цитата Сообщение от diga Посмотреть сообщение
Psilon, я бы даже сделал бы как он говорит но я не могу понять что от меня именно требуется, что именно можно сделать? %)
Сделать можно следующее. Поля абстрактного класса сделать закрытыми, для доступа к ним реализовать по одному защищённому методу, через которые классы-наследники будут иметь доступ к этим полям. То есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
// абстрактный класс таблицы произвольного вида
class abstractTable
{
private:
 
    char fileName[20];// Имя файла
    char Name[20];// Фамилия и инициалы
    char Result[10];// Массив с результатами посещения и сдачи лабораторных работ
 
protected:
    char* getfileName() { return fileName; }
    char* getName() { return Name; }
    char* getResult() { return Result; }
...
А в методах классов-наследников, писать вместо Name - getName(), вместо Result - getResult(), вместо fileName - getfileName(). Может преподавателю именно этого хочется?

Добавлено через 54 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// Для вывода на экран.
    friend ostream &operator << (ostream &out, Tabl MyTabl)
    {
        cout<<endl<<" ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДЕДДДДЕДДДДЕДДДДЕДДДДЕДДДДЕДДДДЕДДДДЕДДДДЕДДДДґ"
        <<endl<<" і"<<setiosflags(ios::left)<<setw(22)<<MyTabl.getName()
        <<"і "<<setw(3)<<MyTabl.getResult()[0]<<"і "<<setw(3)<<MyTabl.getResult()[1]
        <<"і "<<setw(3)<<MyTabl.getResult()[2]<<"і "<<setw(3)<<MyTabl.getResult()[3]
        <<"і "<<setw(3)<<MyTabl.getResult()[4]<<"і "<<setw(3)<<MyTabl.getResult()[5]
        <<"і "<<setw(3)<<MyTabl.getResult()[6]<<"і "<<setw(3)<<MyTabl.getResult()[7]
        <<"і "<<setw(3)<<MyTabl.getResult()[8]<<"і "<<setw(3)<<MyTabl.getResult()[9]
        <<"і ";
        return out;
    }
Здесь неправильно задана ширина поля: нужно setw(3).
 
Текущее время: 01:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru