Closed sergregory closed 9 years ago
Сделала метод который возвращает bool и проверку в main.cpp что если false -> returne -1;
bool set_simple_fraction(int num, int den);
if(sf_a.set_simple_fraction(3,0) == false)
{
fa=0;
return -1;
}
Так, теперь у нас есть метод, который устанавливает значение и метод, который конструирует из double Simple_fraction. Может попробуем написать конструктор? И возможность создания из double и float я бы запретил.. Чтобы запретить возможность вызыва конструктора с параметрами определённых типов, можно объявить конструктор, принимающий параметры этих типов (только объявление метода, без реализации) и сделать его приватным
class Simple_fraction{
public:
Simple_fraction(int num, int denom)
{
...
}
...
private:
Simple_fraction(double num, double denom);
}
Создала конструктор который устанавливает значение для простой дроби.
//Объявление
public:
Simple_fraction();
Simple_fraction(int num, int den);
private:
Simple_fraction(double num, double den);
//Реализация
Simple_fraction::Simple_fraction(){
set_simple_fraction(0, 1);
}
Simple_fraction::Simple_fraction(int num, int den){
set_simple_fraction(num, den);
}
//Вызов
sf_a = Simple_fraction(3,4);
sf_b= Simple_fraction(1,2);
Правда он почти не отличим от метода установки параметров.
Вот как раз то, что я хотел) есть метод, который устанавливает параметры правильным образом, а все конструкторы просто его вызывают с нужными параметрами) Супер)
:+1:
вывод в консольку сообщения об ошибке это хорошо, но нам бы хотелось узнавать в программе что мы что-то не то передали в класс. Как это сделать?