то что она нужна для информирования компилятора о том, что содержимое объекта не должно изменяться после инициализации, я знаю, этот ответ его не устроил вот преподаватель мне задал вопрос, для чего в языке С++ используется функция const.
вот код где преподаватель дописал константу:
class Rectangl
{
private:
float heigt;
float width;
public:
Rectangl(float Height float Width);
float Area() const; - вот про него и собственно вопрос
Другие языки программирования и технологии
для чего в языке С ++ используется функция const?
>то что она нужна для информирования компилятора о том, что содержимое объекта не должно изменяться >после инициализации, я знаю, этот ответ его не устроил вот преподаватель мне задал вопрос, для чего в языке С++ используется функция const.
Почти верно, нужно только было сказать - это информирование компилятора о том, что содержимое обьекта не изменяется при работе данной функции. Это все. Про перегрузку константных функций для константнтых обьектов даже у Г. Шилдта ничего нет. Но преподаватель тебя тянул на 5+)).
Почти верно, нужно только было сказать - это информирование компилятора о том, что содержимое обьекта не изменяется при работе данной функции. Это все. Про перегрузку константных функций для константнтых обьектов даже у Г. Шилдта ничего нет. Но преподаватель тебя тянул на 5+)).
В конкретном случае ключевое слово const говорит о том, что вызванной метод является константным и не изменяет состояние объекта. Ключевое слово const является частью сигнатуры, а это значит, что можно объявить в классе и не константный метод. Если предполагается создавать константные объекты класса, то должны быть перегружены методы этого класса, как константные, которые будут вызываться для константного объекта.
#include <iostream>
using namespace std;
class rectangle {
public:
rectangle() : heigt(297), width(210) { }
rectangle(float _h, float _w) : heigt(_h), width(_w) { }
double area()const { return heigt * width; }
double area() { s = heigt * width; return s; }
private:
float heigt;
float width;
float s;
};
int main () {
// пробуем за комментировать константный метод в классе.. .
const rectangle object_1;
cout << object_1.area() << endl;
rectangle object_2(7, 8);
cout << object_2.area() << endl;
const rectangle object_3(5, 8);
cout << object_1.area() << endl;
cin.get();
return 0;
}
#include <iostream>
using namespace std;
class rectangle {
public:
rectangle() : heigt(297), width(210) { }
rectangle(float _h, float _w) : heigt(_h), width(_w) { }
double area()const { return heigt * width; }
double area() { s = heigt * width; return s; }
private:
float heigt;
float width;
float s;
};
int main () {
// пробуем за комментировать константный метод в классе.. .
const rectangle object_1;
cout << object_1.area() << endl;
rectangle object_2(7, 8);
cout << object_2.area() << endl;
const rectangle object_3(5, 8);
cout << object_1.area() << endl;
cin.get();
return 0;
}
препод тебя валит
Const позволяет организовать множество проверок ещё на этапе компиляции и избежать многих ошибок из числа тех, которые бывает трудно найти при помощи отладчиков и/или анализа кода. const лучше использовать там, где это возможно
Const позволяет организовать множество проверок ещё на этапе компиляции и избежать многих ошибок из числа тех, которые бывает трудно найти при помощи отладчиков и/или анализа кода. const лучше использовать там, где это возможно
Оно указывает на то, что значение поля или локальной переменной является постоянным и не может быть изменено.
Похожие вопросы
- Вопрос для тех кто знает точный ответ, язык C про функции все подробности вопроса внутри...
- Какой язык программирования используется для написания приложений под Androin и IOS?
- Для чего в VB используются функции Rnd и Randomize?
- Как создать программу на одном языке программирования с функциями другого языка
- что можно создать толкового с помощью Microsoft Office Access, и какой язык программирования используется там?
- ГОСПОДА ПРОГРАММИСТЫ ) а язык AJAX ----какие функции с помощью него можно делать ?
- Во многих языках программирования есть функции перевода в 8(16) -ричное значение. В каких случаях это необходимо?
- Программирование на языке СИ с использованием подпрограммы-функции
- Функции в языке программирования C.
- C# Почему const uint SIZE не воспринимается массивом, как константа, а int работает? Погрешности с double