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

Приведите ситуации когда использование классов лучше структур и функций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считать строку и занести ее адресс другой переменой http://www.cyberforum.ru/cpp-beginners/thread680542.html
Пытаюсь сделать функцию наподобе scanf со сменным количеством параметров. С числами разобрался. как считать строку? Имеется функция такого формата: void Input ( char* format, ...) { char** params = &format; char* pFormat = format; while ( *pFormat ) { if ( *pFormat == '$' )
C++ Принцип работы с неблокирующими сокетами При переводе сокета в неблокирующий режим при любой операции он сразу возвращает управление. С получением данных проблем нет, - произошло событие, считываем. А вот с отправкой данных никак не пойму. Я получаю событие OUT, означающее что можно отправлять данные. Но тут возникает проблема, поскольку управление возвращается сразу же, я могу по сути начать в цикле отсылать неограниченное количество... http://www.cyberforum.ru/cpp-beginners/thread680540.html
invalid types '<unresolved overloaded function type>[int]' for array subscript C++
Значит создал массив, пытаюсь записать туда значение а он мне ошибку выдает. invalid types '<unresolved overloaded function type>' for array subscript asga=0; x=ui->lineedit_3->text().toDouble(); пишу в QT Creator.
C++ Создать классы "правильный треугольник", "правильный пятиугольник (с поворотом)", "текст", "текст в пятиугольнике"
создать классы с использованием наследования для фигур: Правильный треугольник, правильный пятиугольник (с поворотом), текст, текст в пятиугольнике
C++ Координаты точки http://www.cyberforum.ru/cpp-beginners/thread680515.html
Здравствуйте, друзья! Подскажите, пожалуйста, как "вытянуть" координаты точки при нажатии на левую кнопку мыши? #include <Windows.h> #include <iostream> using namespace std; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); //отвечает за вывод на экран HANDLE hIn=GetStdHandle(STD_INPUT_HANDLE); //отвечает за ввод на экране void main() {
C++ Программирование циклов с неизвестным заранее числом повторений Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании. Пример программы с использованием оператора цикла с предусловием: Схема программы к данному примеру: Пример программы с использованием оператора цикла с постусловием:... подробнее

Показать сообщение отдельно
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
25.10.2012, 20:45     Приведите ситуации когда использование классов лучше структур и функций
И классы и структуры по сути являются "контейнерами", которые используются для объединения похожих данных (и функций).
И классы и функции в принципе полностью взаимозаменяемы - и в классе и в функции можно объявить как переменные (поля), так и методы выполняющие действия над ними. Разница лишь в том, что в классе все по умолчанию скрыто (private), а в структуре наоборот все по умолчанию открыто (public).
Т.е. по сути это абсолютно идентичные сущности и можно использовать одно вместо другого и наоборот. НО классы обычно используются для объединения параметров и действий над ними (причем эти параметры скрываются от остального "мира" программы - т.н. инкапсуляция происходит), а структуры просто используются для объединения однородных данных.
И классы и структуры становятся реально полезными только при крупных проектах, когда человек не может держать весь код в голове(который написал ранее), ведь надо помнить все имена функций, переменных, связи между ними и т.д. а засовывание всего этого хозяйства в один объект который описывает близкие по смыслу значения избавляет нас от лишней головной боли позволяй думать больше о проектировании программы, а не о запоминании где что как называется.
В целом доступно? или что то отдельно описать?
 
Текущее время: 10:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru