Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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);

// заменить заглавные буквы на строчные

Date: 2015-11-15; view: 238; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию