Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необычная ошибка в классе class cPolygon { public: cPolygon() : head_(0) {}; void add_dott(POINT); void Draw(TForm1*); int GetDottNum(void) {return dott_num_;}; bool GetConvex(void) {return convex;}; bool Check_all(void); https://www.cyberforum.ru/ cpp-beginners/ thread989612.html код нужно сделать через указатель ! C++
# include <iostream.h> # include <conio.h> # include <stdlib.h> const int n=3, m=3; int main() {int a; int i, j, maxzn; cout<<"vvedite matricu \n"; for (i=0; i<n; i++) for (j=0; j<m; j++)
C++ Класс Point и Rectangle *.h : class Point { public: Point(int m_x1, int m_y1); ~Point(); void InputPoint(int m_x1, int m_y1); private: int m_x; https://www.cyberforum.ru/ cpp-beginners/ thread989590.html C++ Рекурсивные функции Плиз, помогите. Ошибку выдает, а исправить как - непонятно... Пока не очень понимаю рекурсивные функции... Составить программу, используя рекурсивную функцию. Массив S содержит 10 символов. Дана строка из 120 символов. Написать программу, включающую рекурсивную функцию, которая удаляет из строки все символы, указанные в массиве S. Строка при этом “сжимается”. За первое внешнее обращение к... https://www.cyberforum.ru/ cpp-beginners/ thread989584.html
как переделать задачу что б были указатели ? C++
#include <iostream.h> #include <conio.h> #include <math.h> int main () { int a , d, b; cout<<"vvedite elementu matricu"<<endl; for (int i=0; i<6; i++) for (int j=0; j<6; j++) cin>>a ;
C++ Error with multimap https://www.cyberforum.ru/ cpp-beginners/ thread989577.html
Вот код. struct sravn{ bool operator()(const char* s1, const char* s2) const{ return strcmp(s1, s2) < 0; } }; typedef multimap<char*, Student, sravn> MapType; void del_stud(MapType *list){
C++ Очистка памяти через деструктор https://www.cyberforum.ru/ cpp-beginners/ thread989573.html
Здравствуйте ! Надо написать к определенному классу конструктор/деструктор. class building { private: string location_street; unsigned int number_of_building; public : building(): location_street("NULL"),
C++ Реализовать конструктор копирования
Задан класс, содержащий поля int x, y; double a,b,c. Реализовать конструктор копирования, который выполняет копирование всех полей входного объекта в новый экземпляр
C++ Задать описание класса Задать описание класса, содержащего поля int x, y; double a,b,c и позволяет выполнять следующие методы:Выполнять инициализацию всех полей одновременно, и каждого поля отдельно. Добавлено через 23 минуты помогите сделать https://www.cyberforum.ru/ cpp-beginners/ thread989558.html C++ сравнение элементов двух векторов Дорогие форумчане, хотелось бы узнать почему не сравниваются элементы двух векторов в моем коде. Суть программы в том что она должна выводить только простые числа. #include "std_lib_facilities.h" int main() { vector<int> primes(25); primes = 2; primes = 3; primes = 5; primes = 7; https://www.cyberforum.ru/ cpp-beginners/ thread989552.html
Нужно написать на С++ C++
Написать программу на языке С++ для расчета значений заданной функции. Слева функция, справа исходные данные, 11 вариант.
C++ Функция добавления нового элемента в список Для добавления элементов в конец списка я в функцию AddToList передаю адрес первого элемента и значение нового элемента. В самой функции новый элемент в список добавляется, однако при выходе из тела функции он пропадает (проверял в режиме отладки). Подскажите, как исправить проблему? #pragma hdrstop #pragma argsused #include <stdio.h> #include <tchar.h> //Линейный односвязный список... https://www.cyberforum.ru/ cpp-beginners/ thread989530.html
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
27.10.2013, 17:54 0

Инкапсуляция. классы - C++ - Ответ 5244532

27.10.2013, 17:54. Показов 1710. Ответов 19
Метки (Все метки)

Ответ

vovkasm,
Надо вспомнить немного истории...
Сразу программы писали одним "стогом" подряд и запускали на выполнение.
Позже такой подход стал несколько неудобным и была сформулирована процедурная парадигма программирования - "Обертывайте все инструкции в функции, используйте наилучшие известные алгоритмы".
Но вот ведь незадача - эти функции должны манипулировать какими-то данными, а эти данные приходилось делать глобальными и общими. Теперь каждая функция, дергала эти данные, изменяя их по своему хотению, что выливалось потом в мучительные часы отладки и ловли ошибок.
С появлением языка Си и ключевого слова static появилась некоторая пародия на инкапсуляцию. Но это другая тема, продолжим повествование на примере С++.

Итак, описав класс, мы можем создать сущность (объект) этого класса. В его приватном поле располагаются некоторые данные и они недоступны остальной программе, кроме внутренних функций-членов этого объекта.
Теперь все функции не смогут "дергать" эти данные, пока мы им не разрешим. В идеале, разрешать не рекомендуется) Программа может послать запрос (сигнал) нашему объекту "можно я посмотрю, что у тебя хранится в этом поле?" и объект сам решает (исходя из наличия у него в открытом интерфейсе функций доступа) давать программе эти данные или не давать.
В итоге вся программа (ну почти) состоит из изолированных объектов, которые инкапсулируют (скрывают) у себя данные, ну и заодно функции, которые эти данные меняют.
Ну как-то так упрощенно...
А вообще читай книжки - там это последовательно изложено и разжевано.

Вернуться к обсуждению:
Инкапсуляция. классы C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2013, 17:54
Готовые ответы и решения:

Инкапсуляция. Классы и их компоненты. Объекты
Здравствуйте. Помогите пожалуйста.Вот есть у меня задание: Разработать класс, инкапсулирующий...

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

Инкапсуляция.
Написать программу имитирующую работу банковского счета методом инкапсуляции. Программа должна быть...

Инкапсуляция
Смотрел обучающие видео , читал книжки и не понял. Инкапсуляция позволяет обращаться к свойствам...

19
27.10.2013, 17:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2013, 17:54
Помогаю со студенческими работами здесь

инкапсуляция методов
можно ли в С ++ инкапсулировать методы? чтобы один метод был доступен только после вызова другого

wxDev-C++ и инкапсуляция
Всем привет. Учусь по книжке Дейтелов, дошел до классов. Авторы пропагандируют методику сокрытия...

Наследование и инкапсуляция в C++
Как осуществляется наследование свойств объектов и инкапсуляция в C++?

Инкапсуляция в ООП и C++
Вы используете в классе геттеры и сеттеры (функции). Отделяйте спецификацию от реализации...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru