Примеры константных функций C++

Primery Konstantnyh Funkcij C



В этой статье основное внимание уделяется ключевому слову const, которое используется с функцией в C++. Ключевое слово «const» называется постоянным значением, которое мы не можем изменить во время выполнения программы. «Константные» функции в C++ — это те функции, члены данных которых могут быть изменены в их классе. Функции «cont» используются эффективно, поскольку они позволяют избежать неожиданных изменений значения объекта.

Пример 1. Программа константной функции-члена на C++

Здесь у нас есть простая программа функции-члена const:

#include
с использованием пространство имен стандартный ;
сорт Мои занятия {
интервал на одной ;
общественный :
Мои занятия ( интервал н '=' 0 ) {
на одной '=' н ;
}
интервал получить значение ( ) константа {
возвращаться на одной ;
}
} ;
интервал основной ( ) {
константа МойКласс c ( 30 ) ;
МойКласс c1 ( 5 ) ;
расчет << «Число с использованием объекта c:» << в. получить значение ( ) ;
расчет << ' \п Число с использованием объекта c1: ' << с1. получить значение ( ) ;
возвращаться 0 ;
}

Первоначально мы определяем заголовочный файл, который включает потоки ввода/вывода программы. Затем мы устанавливаем класс «MyClass», в котором объявляем переменную «num» и функции-члены функции MyClass() и функции getVal(). Внутри функции MyClass() мы устанавливаем параметр «n» со значением «0». Затем аргумент «n» присваивается переменной «num». Затем мы вызываем функцию getVal() с ключевым словом «const», указывающим, что текущее состояние объекта не может быть изменено при вызове функции. Функция getVal() возвращает переменную-член «num».







Наконец, мы обращаемся к функции main(). Здесь мы определяем объекты «c» и «c1» функции MyClass(), а также передаем значения этим объектам. Объект «c» задается ключевым словом «const», указывающим, что значение, присвоенное этому объекту, не может быть изменено.



Вывод функции-члена const, вызываемой объектом, показан ниже. Таким образом, мы можем использовать ключевое слово const с функцией-членом и объектом:







Пример 2. Программа константной функции-члена вне класса в C++

Теперь у нас есть другая реализация, в которой функция-член const определяется вне определения класса, а значение частной переменной-члена устанавливается и извлекается с помощью функции-члена const.

#include
с использованием пространство имен стандартный ;

сорт НовыйКласс {
интервал я ;

общественный :
пустота set_record ( интервал ) ;

интервал get_record ( ) константа ;
} ;

пустота НовыйКласс :: set_record ( интервал Икс ) { я '=' Икс ; }
интервал НовыйКласс :: get_record ( ) константа { возвращаться я ; }

интервал основной ( )
{
НовыйКласс c ;
в. set_record ( 10 ) ;
расчет << в. get_record ( ) ;

возвращаться 0 ;
}

Здесь мы сначала создаем класс «NewClass», где инициализируем переменную «i», которая остается закрытой. После этого у нас есть ключевое слово public, в котором определены функции-члены set_record() и get_record(). Функция-член set_record() используется для установки значения переменной «i», а функция get_record() используется здесь для возврата значения переменной «i». Обратите внимание, что мы используем ключевое слово «const» с функцией-членом get_record(), которая представляет его как константную функцию-член, и состояние объекта не может быть изменено. После этого у нас есть определение функции set_record() для установки значения переменной «i».



Точно так же у нас есть определение функции get_record() для получения значения переменной «i». Затем мы устанавливаем функцию main(), в которой у нас есть объявление объекта «c» класса «NewClass». Затем вызывается неконстантная функция-член «set_record», чтобы присвоить значение переменной «z». Двигаясь дальше, мы вызываем функцию-член get_record() const, чтобы напечатать значение «i».

Значение частной переменной-члена вызывается функцией-членом const и отображается в следующем приглашении:

Пример 3: Программа константной функции-члена, определенной вне класса как независимая функция

Однако мы реализуем другой случай функции-члена const, где функция-член с ключевым словом «const» вызывается вне класса как отдельная функция.

#include
с использованием пространство имен стандартный ;
сорт Уравнение {
интервал н1, н2 ;
общественный :
пустота set_equation ( интервал Икс, интервал и )
{
n1 '=' Икс ;
n2 '=' и ;
}
пустота show_equation ( )
{
расчет << «Уравнение:» << n1 << '+' << n2 << 'б' << конец ;
}
друг пустота это весело ( константа Уравнение ) ;
} ;
пустота это весело ( константа Объект уравнения )
{
расчет << «Функция использования уравнения: » << объект n1 << '+' << объект n2 << 'б' << конец ;
}
интервал основной ( )
{
Объект уравнения ;
объект set_equation ( 5 , 8 ) ;
объект show_equation ( ) ;
это весело ( объект ) ;
}

Здесь мы создаем класс «Equation()», а затем объявляем переменные «n1» и «n2». Здесь мы также добавляем функцию-член set_Equation() для установки значений переменных «n1» и «n2». Функция show_Equation() показывает уравнение, созданное с использованием этих переменных.

После этого у нас есть объявление функции funIs(), которая определяется с помощью ключевого слова «friend». Это ключевое слово «Friend» позволяет нам получить доступ к частному члену класса «Equation». Затем мы вызываем дружественную функцию funIs() вне класса и вводим параметр obj класса Equation как const. В итоге у нас есть функция main(), в которой мы объявляем объект класса «Equation». Затем мы устанавливаем значения переменных «n1» и «n2» с помощью функции set_Equation(). Переменные «n1» и «n2» используются для отображения их значений с помощью функции show_Equation(). Наконец, мы вызываем дружественную функцию funIs класса Equation для отображения уравнения.

Уравнение и уравнение, использующее функцию const friends, отображаются в командной строке:

Пример 4. Программа константной функции-члена для обновления значения на C++ (худший случай)

Программа демонстрирует наихудший сценарий использования функции-члена const, когда мы пытаемся изменить значение переменной, называемой «внутри функции-члена const».

#include
с использованием пространство имен стандартный ;

сорт Данные {
интервал в ;

общественный :
пустота установить значение ( интервал я ) { в '=' я ; }
интервал получить значение ( ) константа
{

++ в ;
возвращаться в ;
}

} ;

интервал основной ( )
{
Данные г ;
д. установить значение ( двадцать ) ;
расчет << конец << д. получить значение ( ) ;

возвращаться 0 ;
}

Здесь мы сначала создаем класс «Данные» и объявляем переменную «v» внутри класса. После этого мы устанавливаем ключевое слово «public», а затем объявляем функции-члены класса «setValue()», которые представляют конструктор класса, и getValue(), которые указывают функцию-член класса. Функция setValue() принимает переменную «i» в качестве параметра. Эта переменная «i» присваивается переменной-члену «v».

После этого у нас есть определение функции getValue(), в которой мы получаем значение переменной «v». Поскольку функция getValue() объявлена ​​с ключевым словом «const», означающим, что значение переменной «v» не может быть обновлено ни в каком случае. Однако мы намеренно пытаемся увеличить переменную «v», чтобы изменить ее значение. Когда программа достигает этой стадии, выдается ошибка. Наконец, у нас есть вызов функции main(), где мы определяем объект «d» класса «Data» и устанавливаем значение «20» для этого объекта «d». После этого мы вызываем функцию getValue(), чтобы получить значение «d» объекта.

Приглашение генерирует результаты предыдущей реализации, где выдает ошибку «++v», поскольку нам не разрешено изменять значение объектов функции-члена const:

Заключение

В заключение мы углубимся в функцию const C++, которая используется для предотвращения случайных изменений значения программы. Константные функции-члены в C++ — это функции, доступные только для чтения, изменение объектов, для которых они вызываются, не допускается. Мы также реализовали различные сценарии использования функции const, чтобы продемонстрировать ее функциональность на C++.