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

Запретить редактирование переменной внутри класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить функцию построения строки символов являющейся записью заданного действительного числа http://www.cyberforum.ru/cpp-beginners/thread1190799.html
составить функцию построения строки символов являющейся записью заданного действительного числа, строка должна содержать указанное количество цифр после запятой.( с правилами округления цифр)
C++ Создать базу данных (БД) склада компьютерного магазина Есть задание помоги интересует не выполнение а справка что можете посоветовать почитать на эту тему что нужно использовать и если можно примеры. в программировании слаб заушник( времени мало... http://www.cyberforum.ru/cpp-beginners/thread1190798.html
Создать класс BitString для работы с битовыми строками не более чем из 100 бит C++
Создать класс BitString для работы с битовыми строками не более чем из 100 бит. Битовая строка должна быть представлена массивом типа unsignet char, каждый элемент которого принимает значение 0 или...
C++ Отсортировать массив по возрастанию количества цифр, встречающихся в записи числа
Дан массив целых положительных чисел b1,b2,...,bn.Отсортировать массив по возрастанию количества цифр,встречающихся в записи числа.
C++ Подсчитать количество параллелограммов, из которых найти один с наибольшим периметром http://www.cyberforum.ru/cpp-beginners/thread1190789.html
Среди N четырехугольников с заданными сторонами подсчитать количество параллелограммов,из которых найти один с наибольшим периметром.
C++ Определить класс с именем ZNAK Само задание: 1. Определить класс с именем ZNAK, содержащий следующие поля: Фамилия, Имя. Знак Зодиака День рождения (массив из трёх чисел) Определить методы доступа к этим полям и перегруженные... подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1818 / 1176 / 232
Регистрация: 16.05.2013
Сообщений: 3,105
Записей в блоге: 5
Завершенные тесты: 1
28.05.2014, 09:13
Цитата Сообщение от Cra3y Посмотреть сообщение
в чистом С++ так не получится...
Впринципе можно. Для этого нужно использовать константный объект и переменные члены объявленные со спецификатором mutable. Однако это не всегда хорошее решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Test
{
public:
  int Count;
  mutable int Sec;
  Test(): Count(), Sec()
  {}
};
 
int main()
{
  const Test t;
  int x;
  x = t.Count; //можно
  //t.Count = x; //нельзя
 
  x = t.Sec; //можно
  t.Sec = x; //можно
  return 0;
}
Но лучше использовать const спецификаторы полей класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Test
{
public:
  const int Count;
  int Sec;
  Test(): Count(), Sec()
  {}
};
 
int main()
{
  Test t;
  int x;
  x = t.Count; //можно
  //t.Count = x; //нельзя
 
  x = t.Sec; //можно
  t.Sec = x; //можно
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru