Предмет: Информатика, автор: kumiho9fox

С++
Нужна помощь. Я не совсем понимаю как выводить в main перегрузку операторов. Возможно я не совсем понятно поставил вопрос, но в общем, нужна помощь с написание main для этого кода:
class fraction
{
private:
int num;
int denum;
public:
fraction(int n , int d): num(n),denum(d){}
ostream& operator«(ostream& out, const fraction& f)
{
out « f.num«"/"«f.denum;
return out;
}
void swap (int *a, int *b)
{
int f;
f= *a;
*a = *b;
*b = f;
}
int NOD(int a, int b)
{
int div;
if (a<0)
a=-a;
if (b<0)
b=-b;
while (a != b)
{
if (a < b)
swap(&a,&b);
a = a - b;
}
div = a;
return div;
}
fraction operator+(const fraction& f)
{
int n = num*f.denum + f.num * denum;
int d = denum * f.num;
return fraction(n,d);
}
fraction operator+(const fraction& f, int arg)
{
int n = arg * f.denum + f.num;
int d = f.denum;
return fraction(n,d);
}
fraction operator-(const fraction&f)
{
int n = (num*f.denum) - (f.num *denum);
int d = denum * f.denum;
return fraction(n,d);
}
fraction operator-(const fraction&f, int arg)
{
int n = arg*denum - num;
int d = denum;
return fraction(n,d);
}
fraction operator-(const fraction&f, int arg)
{
int n = num - arg*denum ;
int d = denum;
return fraction(n,d);
} 7

fraction operator*(const fraction& f)
{
int n = num * f.num;
int d = denum * f.denum;
return fraction(n,d);
}
fraction operator*(const fraction& f, int arg)
{
int n = arg * num;
int d = denum;
return fraction(n,d);
}
fraction operator/(const fraction& f)
{
int n = num * f.denum;
int d = denum * f.num;
return fraction(n,d);
}
fraction operator/(const fraction& f, int arg)
{
int n = num;
int d = denum * arg;
return fraction(n,d);
}
fraction operator/(const fraction& f, int arg)
{
int n = denum * arg;
int d = num;
return fraction(n,d);
}
fraction operator^(const fraction& f)
{
int n = num*num;
int d = denum*denum;
return fraction(n,d);
}
fraction operator~(const fraction& f)
const{
int div = NOD(num,denum);
return(num/div, denum/div);
}
operator double()
{
return (double)num/denum;
}
};​

Ответы

Автор ответа: pupkinll2016
0

Ответ:

Где то я уже отвечал на этот вопрос, вообще это странно выводить main (никто так не делает) но ладно, вот вам код ниже

Объяснение:

#include <iostream>

using namespace std;

class fraction

{

private:

int num;

int denum;

public:

fraction(int n , int d): num(n), denum(d){}

friend ostream& operator<<(ostream& out, const fraction& f)

{

out << f.num << "/" << f.denum;

return out;

}

void swap (int *a, int *b)

{

int f;

f= *a;

*a = *b;

*b = f;

}

int NOD(int a, int b)

{

int div;

if (a<0)

a=-a;

if (b<0)

b=-b;

while (a != b)

{

if (a < b)

swap(&a,&b);

a = a - b;

}

div = a;

return div;

}

fraction operator+(const fraction& f)

{

int n = num*f.denum + f.num * denum;

int d = denum * f.num;

return fraction(n,d);

}

fraction operator+(const fraction& f, int arg)

{

int n = arg * f.denum + f.num;

int d = f.denum;

return fraction(n,d);

}

fraction operator-(const fraction&f)

{

int n = (num*f.denum) - (f.num *denum);

int d = denum * f.denum;

return fraction(n,d);

}

fraction operator-(const fraction&f, int arg)

{

int n = arg*denum - num;

int d = denum;

return fraction(n,d);

}

fraction operator-(int arg, const fraction&f)

{

int n = arg*denum - num;

int d = denum;

return fraction(n,d);

}

fraction operator*(const fraction& f)

{

int n = num * f.num;

int d = denum * f.denum;

return fraction(n,d);

}

fraction operator*(int arg, const fraction& f)

{

int n = arg * f.num;

int d = f.denum;

return fraction(n,d);

}

fraction operator/(const fraction& f)

{

int n = num * f.denum;

int d = denum * f.num;

return fraction(n,d);

}

fraction operator/(int arg, const fraction& f)

{

int n = f.denum * arg;

int d = f.num;

return fraction(n,d);

}

fraction operator/(const fraction& f, int arg)

{

int n = num;

int d = denum * arg;

return fraction(n,d);

}

fraction operator^(const fraction& f)

{

int n = num*num;

int d = denum*denum;

return fraction(n,d);

Похожие вопросы
Предмет: История, автор: ic6372941
СТОЯНКИ ЭПОХИ КАМНЯ НА ТЕРРИТОРИИ КАЗАХСТАНА (урок 2) м уроке мы: еделим археологические памятники эпохи камня; шем орудия труда, найденные археологами. вательский вопрос: Какие находки эпохи камня были обнаружены гами? менные орудия, ные на стоянках ан, Taнирказган СЬ нуклеус жизнь древних атау? Среди археологических памятников осо- бенно выделяются стоянки Танирказган и Бориказган в Каратау. Они были открыты во время экспедиционных работ под руко- водством Х. Алпысбаева. Орудия труда из- готавливались в основном из речной гальки с помощью техники оббивки. По этой тех- нике гальку оббивали друг о друга так, что- бы получались каменные орудия с остры- ми краями. Они широко использовались в качестве рубящих и режущих приспособ- лений. В целом орудия труда, найденные на этих стоянках, имеют сходства с орудия- ми, обнаруженными в Азии и Африке. Это подтверждает предположение о едином пути развития человечества. К стоянкам эпохи камня в Казахстане относится также Шакпаката, расположен- ная в Мангистау. Ее исследовал археолог А. Медоев. Там сохранились следы жизни людей, обитавших в то время на террито- рии Казахстана. В 1963 г. А. Медоевым также были найдены стоянки палеолита в Север- ном Прибалхашье, на юго-востоке Казах- стана. Здесь, на стоянках Семизбугы, Хантау, Чингиз были обнаружены нуклеусы, скреб- ла, остроконечники, ножевидные пластины, скребки, отщепы, кости животных. Ешкитаў Поздний палеолит на территории Казах- стана охватывает период 40-12 тысяч лет назад. Количество памятников этого време- ни невелико. Это можно объяснить суровы- ми климатическими условиями в конце лед- никового периода. Поэтому, если взглянуть на карту, то все известные памятники рас- положены либо на побережье Каспийского моря, либо возле речных долин, либо находятся у подножия гор. В позднем палео лучают широкое распространение новые виды орудий, такие ка проколки, сверла и орудия из кости. Шалкар 1-4 мугалжарская группа стоянок Сарыташ, Шакпаката В это время... Древнейшие орудия труд были найдены в Восточн Африке, в ущелье Олд вай. Археологи счита что они были изготовле 2,6 миллиона 800 ть лет назад. Аральск 1-3 Обобщите Обобщите сведения с ни древних людей на тории Казахстана на с памятников эпохи пал Батпак 6-8, 12 - Бурма Семизбуть Обалысай 1 Кызыл жар 3 Жаман-Айбат Бориказган, Хантау Танирказган Кызыктау Ангренсор 2 Кудайколь Шульбинка Чингиз
Надо краткий перезказ​
Предмет: Физика, автор: wretdaswww