как в определении класса оставить только прототипы методов, а реализацию за пределами класса
Сама задача: В классе создать два целочисленных поля a и b. Реализовать метод NOD для нахождения наибольшего общего делителя для a и b.
#include<iostream>
using namespace std;
class value
{
private:
int a;
int b;
public:
void SetA(int valuea)
{
a = valuea;
}
void SetB(int valueb)
{
b = valueb;
}
int NODab()
{
while (a&&b)
if (a > b) a %= b;
else b %= a;
return a + b;
}
void PrintNODab()
{
cout << " The greatest common divisor for A and B = " << NODab() << endl;
}
};
int main()
{
value NOD;
NOD.SetA(15);
NOD.SetB(6);
NOD.NODab();
NOD.PrintNODab();
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
class value
{
private:
int a;
int b;
public:
void SetA(int valuea);
void SetB(int valueb);
int GCDab();
void PrintGCDab();
};
void value::SetA(int valuea)
{
a = valuea;
}
void value::SetB(int valueb)
{
b = valueb;
}
int value::GCDab()
{
while (a&&b)
if (a > b) a %= b;
else b %= a;
return a + b;
}
void value::PrintGCDab()
{
cout << " The greatest common divisor for A and B = " << GCDab() << endl;
}
Я не вдавался в суть вашего кода. Только позволил себе изменить транслит NOD на английский термин GCD.