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

Доступ к закрытым элементам класса - Вопрос - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Всё таки хочу снести отсебятину на тему размерных величин http://www.cyberforum.ru/cpp-beginners/thread386391.html
class TLenghtUnit { private: static TLenghtUnit *Base; double k1; double k2; TLenghtUnit *u; public: TLenghtUnit (TLenghtUnit &Unit, double k1, double k2) // Unit - ссылка на существующую величину. Декларация TLenghtUnit x(y, k1, k2) означает k1*x=k2*y. Потом придумаю, как лучше назвать параметры. {
C++ Составить частотный словарь вводимого текста Составить частотный словарь вводимого текста (несколько строк) тоесть распечатать строку следующим образом: справа от каждого слова-частоту, с которой оно встретилось. http://www.cyberforum.ru/cpp-beginners/thread386387.html
Исключения C++
Как бросить исключение выхода за границы массива? Как его поймать? Что делать после отбрасывания? TItem & TArray::operator (unsigned int index) { if {Index>NumberOfData} { //Что сдесь надо написать? } else {
Классы. Доступ к созданному объекту. C++
Доброе утро, форум.:friends: Имеется код, чисто для примера. файл book.h #ifndef BOOK_H #define BOOK_H struct Book {
C++ Для чего нужна функция errno_t err? http://www.cyberforum.ru/cpp-beginners/thread386365.html
Почему в Visual C++ 5.0 нужно вводить не FILE *fp; fp = fopen("File" , "w"); ,а FILE *fp; errno_t err; err = fopen_s(&fp, "File" , "w"); ?
C++ Работа со списками (через класс). Скажите, в чем ошибка. Доброго времени суток. Я написал программу, просмотрите, пожалуйста. В общем нужно реализовать класс, выполняющий следующие функции: 1. Добавление элемента в начало списка 2. Добавление элемента в конец списка 3. Включение элемента в середину списка, после элемента с определенным идентификатором 4. Удаление элемента по его идентификатору 5. Замена двух соседних элементов списка. 6.... подробнее

Показать сообщение отдельно
dimcoder
Полярный
458 / 431 / 67
Регистрация: 11.09.2011
Сообщений: 1,129

Доступ к закрытым элементам класса - Вопрос - C++

18.11.2011, 10:00. Просмотров 3193. Ответов 17
Метки (Все метки)

Доброго всем времени суток. Итак, столкнулся с одной непонятной вещью, связанной с классами, а точнее с private элементами. Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream.h>
#include <conio.h>
 
class array
{
   public:
 
   array(int = 10);
 
   int getsize(array&);
 
   private:
 
   int size;
};
 
array::array (int y)
{
   size = y;
}
 
array::getsize(array &a)
{
   return a.size;   //По идее компилер должен выдавать ошибку так как я пытаюсь получить доступ к закрытому элементу !
}
 
main ()
{
   array a, b(200);
 
   cout << a.getsize(b) << endl;
 
   getch();
 
   clrscr();
 
   return 0;
}
Выводит 200.

Почему компилятор не выдаёт ошибку? Инкапулсуляция ф большой и тёмной ж? Ну а если серьёзно, то у меня пока выресовывается одно объяснение: объекты одного и того же класса имеют доступ к закрытым элементам того же класса по средствам функций элементам. Объясните пожалуйста чайнику что к чему.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru