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

Когда стоит использовать класс, а когда лучше обойтись без них? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Замена vector на что-то более компактное http://www.cyberforum.ru/cpp-beginners/thread1650540.html
Привет, я тут месяца в вектор запихнул. И у меня вопрос, а можно эти строки как-то сократить? vector<string> monthNames; monthNames.push_back("Января"); monthNames.push_back("Февраля"); monthNames.push_back("Марта"); monthNames.push_back("Апреля"); monthNames.push_back("Мая"); monthNames.push_back("Июня"); monthNames.push_back("Июля");
C++ Возможно ли использовать функцию, объявленную в *.сср одного проекта, в другом проекте? допустим в решении задействованы 3 проекта возможно ли использовать функцию, объявленную и проинициализированную в сср-шнике одного проекта, в другом проекте ? и если да, то как? заранее, спасибо :) http://www.cyberforum.ru/cpp-beginners/thread1650532.html
Использование указателей на функции-члены внутри самого класса C++
День добрый форум! Возник такой вопрос. В классе А есть 3 функции и массив, в котором хранятся адреса этих функций. class A { private: typedef int(*A::func)(void); func arr;
Размер типов данных C++
Здравствуй, Cyberforum. Меня интересует один вопрос, возможно он травиальный.. Почему в 8 битах (в одном байте) мы можем хранить 255 значений, а не 64? Кол-во возможных комбинаций = 8*8, разве нет? Дайте что-то почитать на эту тему, я запутался. Вероятно это связано с двоичной системой счисления.
C++ Программа содержащая функции, ввода времён, печати времён, и логическая функция http://www.cyberforum.ru/cpp-beginners/thread1650512.html
Для структуры struct time { int s, m, h; }; time t1, t2; требуется написать программу, содержащую функцию ввода времён,
C++ Реализовать шаблон для вывода на экран содержимое любой мапы Написать ф-й шаблон, которая будет выводить на экран содержимое любой карты. Я написал как я понимаю нужно делать. Подскажите как правильно template<typename Key, typename Value> std::map<Key, Value> Map(Key key, Value value) { ConstIterator it = map.cbegin(); ConstIterator itEnd = map.cend(); for (; it != itEnd; ++it) { std::cout << Key << ", " << Value << "\n"; подробнее

Показать сообщение отдельно
hoggy
5603 / 2233 / 411
Регистрация: 15.11.2014
Сообщений: 5,026
Завершенные тесты: 1
29.01.2016, 19:33     Когда стоит использовать класс, а когда лучше обойтись без них?
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Когда стоит использовать класс, а когда лучше обойтись без них?
единственная и достаточная причина
создания очередной конструкции на языке -
облегчение жизни программиста.

Цитата Сообщение от Andrey040601 Посмотреть сообщение
Когда следует использовать несколько классов?
когда это удобно.

Цитата Сообщение от Andrey040601 Посмотреть сообщение
Эти три функции должны быть в одном классе?
нет.

"класс" не отвечает за хотелки "всей программы".

каждый класс решает строго одну какую то свою задачу.

например, класс работы с файлами - знает только про файлы, и умеет работать только с файлами.
например, он умеет открыть файл, прочитать данные, закрыть.
но он понятия не имеет зачем нужны были эти данные.
и кто с ними, что будет делать дальше.
его дело - выдать данные наружу.
а уж что вы будите с ними делать - ваши фантазии.

в одном проекте вы будете делать одно.
в другом - другое.

но класс для работы с файлами можно будет использовать в обоих проектах.

то есть, благодаря тому, что класс не берет на себя лишнего,
его в итоге можно будет использовать повторно.


класс "парсера" ничего не знает ни о каких файлах.
зато он умеет парсить строки.

все что вам нужно - это распределить роли: какие классы нужны будут,
и чем они занимаются.

а дальше просто:
комбинируете их умения,
и таким образом решаете конкретную задачу:

с помощью одного класса добываем данные.
с помощью другого - парсим их.
 
Текущее время: 17:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru