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

Для чего было придумано сокрытие данных в ООП? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ мини- программы http://www.cyberforum.ru/cpp-beginners/thread139966.html
Кто может хоть что-небудь решить, решите пожалуйста. Понимаю что задания элементарные, но до завтра сам сделать не успею... а завтра экзамн %-)%-)%-) 1. - 2. Строки. Разработать программу, которая считывает с клавиатуры два слова и выводит их на экран в кавычках. 3. Строки. Разработать программу, которая считывает с клавиатуры строку и выводит на экран количество символов в строке. 4....
C++ удаление символа из одномерного массива нужно удалить из одномерного массива заданный элемент. оформить нужно как динамический массив. помогите, как удалить именно заданный элемент??? может идет речь об индексе заданного элемента???? http://www.cyberforum.ru/cpp-beginners/thread139952.html
fstream непонятка C++
скажите,плз,правильно ли я открываю файл с fstream, и где должен лежать сам файл? #include <fstream> #include <iostream> #include <conio.h> using namespace std; int main() { ifstream in("input.txt", ios_base::in);
C++ Можно ли убрать надпись с шапки окна?
Привет всем! Такое дело, есть программка написанная в с++ отлично работает, все норм, но только в шапке окна имеется надпись, можно ли как нибудь эту надпись убрать? Имееться только экзешник, кода нету( помогите пожалуйста
C++ Определить количество и сумму цифр, состоящих на нечётных местах в записи числ http://www.cyberforum.ru/cpp-beginners/thread139905.html
дано целое число.Определить кол-во и сумму цифр состоящих на нечётных местах в записи числа.????
C++ определить первую цифру дробную части числа дано вещественное число.определить первую цифру дробную части. подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
03.06.2010, 00:44     Для чего было придумано сокрытие данных в ООП?
Цитата Сообщение от Nazz Посмотреть сообщение
например: естли нескольо разных програмистов пишут одну програму по частям, и на зывают переменные однаковыми именами, то естли они огласят их ка паблик, при компиляции программы будут ошыбки, а естли же они огласят их как приват, то никаких ошыбок и збоев программа не даст...
вот такое основное назначение типов скрытости переменных..
бред какой...
допустим есть класс, описывающий целочисленный массив. в нем есть собственно указатель на данные и переменная хранящая размер. в нормальной реализации эти данные естественно будут объявлены как private, либо protected. есть так же метод, который допустим сортирует этот массив.
C++
1
2
3
4
5
6
7
8
class array
{
public:
   void sort();
private:
   size_t size;
   int * ptr;
};
допустим их объявили как public.
C++
1
2
3
4
5
6
7
class array
{
public:
   void sort();
   int * ptr;
   size_t size;
};
все мы знаем, что для сортировки массива необходимо знать его размер. а так как размер этого класса определен и автоматически корректируется, то метод sort можно вызывать без дополнительных данных.
так как сейчас доступ к переменной size открыт, пользователь класса может безнаказанно ее изменять.
C++
1
2
array a;
a.size = 15;
после чего при выполнении сортировки программа "успешно рушится", например по причине выхода за пределы массива.
так же и сами данные (ptr) лежат в открытом виде. что также позволяет провести такие операции как например.
C++
1
delete [] a.ptr
что вообще освобождает память.
если данные лежат в private области ничего подобного сделать не получится. компилятор начнет ругаться.
плюс к этому с помощью функций можно обеспечивать доступ к данным в любом режиме:
- только чтение
- чтение и запись
- только запись!

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