Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Const Complex one(1,1);n Если const стоит перед определением указателя или ссылки, то это означает, что не изменяется объект, на который данный указатель или ссылка указывает: //указатель на неизменяемую строку const char* ptr = &string; char x = *ptr; ptr++; *ptr = '0'; // обращение по указателю – допустимо // изменение указателя – допустимо // попытка изменения объекта, на который указатель указывает – ошибка n Если нужно объявить указатель, значение которого не изменяется, то такое объявление выглядит следующим образом: char* const ptr = &string; // неизменяемый указатель char x = *ptr; ptr++; *ptr = '0'; // обращение по указателю – допустимо // изменение указателя – ошибка // изменение объекта, на который указатель указывает – допустимо Доступ к объекту по чтению и записи n Кроме контроля доступа к атрибутам класса с помощью разделения класса на внутреннюю, защищенную и внешнюю части, нужно следить за тем, с помощью каких методов можно изменить текущее значение объекта, а с помощью каких – нельзя. n При описании метода класса как const выполнение метода не может изменять значение объекта, который этот метод выполняет. n Использование описателя const позволяет программисту контролировать возможность изменения информации в программе, тем самым предупреждая ошибки. Пример 1 Class A {public: Int GetValue (void) const; Int AddValue (int x) const; private: Int value; } int A::GetValue(void) const { return value; } // объект не изменяется intA::AddValue(int x) const { value += x; // попытка изменить атрибут объекта приводит к ошибке компиляции return value;}
Пример 2 Class String {public: // добавить строку в конец текущей строки void Concat(const String& str); // заменить заглавные буквы на строчные
|