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

Знаю ли я основы ООП? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввод данных с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread621586.html
Помогите, пожалуйста... Если я напишу так:cin >> a; То у меня введутся символы с клавиатуры, а потом каретка автоматически переходит на следующую строку, а мне надо, чтобы каретка осталась на этой строке. Я потом на этой же строке только через 2 табуляции снова буду вводить данные, только другие. Как это сделать?
C++ Цикл: Найти самую длинную неубывающую цепочку чисел В цикле с клавиатуры вводится 15 целых чисел. Необходимо найти самую длинную неубывающую цепочку чисел. На экран вывести найденную максимальную длину цепочки и порядковый номер того числа, с которого цепочка началась. Цикл for а не if, сорри ) http://www.cyberforum.ru/cpp-beginners/thread621585.html
C++ Упорядочить массив в с++
Создать целоисчисленный массив. упорядочить элементы массива в порядке возрастания частоты встречаемости. Если в массиве есть несколько элементов, то группы упорядочить по убыванию абсолютных значений элементов. Помогите пожалуйста, не знаю как упорядочить массив. Вот код, который написала #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #include...
C++ Узнать размер файла
Дорогие форумчане! Есть у меня есть файл xxxxx.clk(все данные в нем строчные), он весит n-ое количество мегабайт. Нужно задать массив структур из этих строк. Почитал в интернете, нужно использовать библиотеки sys.h\types.h\stat.h . Но их нету в стандартном наборе ни CodeBlock'а, ни Builder'а, ни DEV'а... Покажите на примере, как это сделать?
C++ C++ Интерфейс пользователя http://www.cyberforum.ru/cpp-beginners/thread621579.html
Есть у меня форма, сделал я ее на с++ atl через ресурс. Теперь надо по нажатии кнопки которая находиться на этой же форме записать всю инфу в файл. НО! Я не знаю как присвойть переменной например char значение которое располагаться в компоненте (textbox - текстовое поле). Подскажите?
C++ Массив: сортировка элементов массива по убыванию Привет всем с Казахстана) Хотелось бы от вас пару уроков взять про массивов. Сначала, пожалуй, начну с этого: Массив, состоящий из 15и символов. Сортировать эти массивы по убыванию. Сделайте, как можно проще. Просто, когда училка спросит, чтоб я мог смело отвечать) Удачи) На таком примере: #include<iostream.h> #include<math.h> #include<conio.h> int main(){ подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.07.2012, 12:20     Знаю ли я основы ООП?
Kastaneda, на самом деле, сейчас я бы все таки убрал бы реестр комманд внутрь друго класса, аля CommandExecutor, чтобы main, ни про реестр, ни про команды не знала. Да и вообще бы, не стал бы выделять реестр как класс, сложил бы просто в виде std::map в CommandExecutor. И стоит подумать на тем, чтобы вообще от комманд избавится, ибо их немного совсем.
Цитата Сообщение от novi4ok Посмотреть сообщение
плохой дизайн. даже очень плохой.
По каким критериям оценивали? И какой дизайн по-вашему хорош?

Добавлено через 19 минут
Kastaneda, можно вообще избавится от интерфейса комманды, чтобы я и сделал бы, получилось бы что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct CommandRegistry {
  static void CalculateWordsCount(const Arguments& args);
  static void CalculateChecksum  (const Arguments& args);
  static void PrintHelp          (const Arguments& args);
};
 
int main(char* argv[], int argc) {
  CommandExecutor cmdExecutor;
  cmdExecutor.register("word"    , std::bind(CommandRegistry::CalculateWordsCount, _1));
  cmdExecutor.register("checksum", std::bind(CommandRegistry::CalculateChecksum  , _1));
  cmdExecutor.register("help"    , std::bind(CommandRegistry::PrintHelp          , _1));
 
  Arguments args(argv, argc);
  cmdExecutor.execute(args.has('m')? args.get('m') : 'help', args);
}
Просто ICommand это скорее Java style. В boost/С+11 есть function, которыми и стоит пользоватся.
 
Текущее время: 06:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru