Здравствуйте,добрые люди
Поправьте если я не прав: перегрузка- преопределение для классов существующие обозначение операций,в результате перегрузки классов можно употреблять значения операции привычные для базовых типов.
Преопределенная функция - функция,значит ее можно перегрузить,то бишь создать несколько функций с одинаковыми именами,но разными параметрами входа.
Это научное обозначение,а понимаю я так- когда мы совершаем операции над классами,компилятор не знает что делать,и мы явно указываем какие операции нужно совершать при вызове оператора.-я правильно понимаю,или нет ?
Объясните пожалуйста как происходит передача значений в перегрузку в данной программе.
Что здесь значит kvad и,если при вызове указать k*kvad - то перегрузка будет вызываться float operator *(float k,kvadrat a)- Верно ?
#include <iostream>
class Kvadrat{
private:
float storona;
public:
Kvadrat(float a){
storona = a;
}
float ploshad(){
float S = storona*storona;
return S;
}
float operator * (float k){
float S = storona*storona*k*k;
return S;
}
};
int main(){
float a, k;
printf("Vvedite storonu kvadrata: \n");
scanf("%f", &a);
Kvadrat kvad(a);
printf("Ploshad kvadrata: %f\n", kvad.ploshad());
printf("Vvedite koef podobia: \n");
scanf("%f", &k);
printf("Podobniy kvadrat: %f\n", kvad*k);
getchar();
return 0;
}