Форум программистов, компьютерный форум CyberForum.ru

унаслодовать класс - C++

Восстановить пароль Регистрация
 
Not Afraid
2 / 2 / 0
Регистрация: 24.02.2013
Сообщений: 68
24.11.2013, 20:16     унаслодовать класс #1
Помогите унаследовать класс
у меня есть класс дробь нужно утворить из него класс матрица дробуй вот класс:
#include <iostream>
using namespace std;

class drob
{
int p;
int q;
public:
drob();
drob(int , int );
~drob();
drob& operator=(const drob&);
friend ostream& operator«(ostream&, drob);
friend istream& operator»(istream&, drob&);
friend drob operator-(const drob&, const drob&);
friend drob operator+(const drob& d1, const drob& d2);
drob operator*(drob d1);
drob operator/(drob d1);
bool operator==(const drob& d1);
bool operator!=(const drob& d1);
bool operator<(const drob& d1);
bool operator>(const drob& d1);
bool operator<=(const drob& d1);
bool operator>=(const drob& d1);
drob stepen(int a);
drob skor();
void input();
void output();
};
drob::drob(int x, int y)
{
p = x;
q = y;
}
drob::~drob()
{
cout « "delete object" « endl;
}
drob& drob::operator=(const drob& v)
{
p = v.p;
q = v.q;
return *this;
}

drob::drob()
{
p = q = 0;
cout « "drob initialized. \n";
}
ostream& operator«(ostream& os, drob v)
{
return os « "p=" « v.p « "\t"« "q=" « v.q « endl;
}
istream& operator»(istream& is, drob& v)
{
cout « "Drib p/q, vvedit p=";
is » v.p;
cout « "vvedit q=";
is » v.q;
return is;
}
drob operator-(const drob& d1, const drob& d2)
{
drob dc;
dc.p = (d1.p*d2.q) - (d2.p*d1.q);
dc.q = d1.q*d2.q;
return dc;
}
drob operator+(const drob& d1, const drob& d2)
{
drob x;
x.p = (d1.p*d2.q) + (d2.p*d1.q);
x.q = d1.q*d2.q;
return x;
}

drob drob::operator*(drob d1)
{
drob fg=*this;
fg.p *= d1.p;
fg.q *= d1.q;
return fg;
}
drob drob::operator/(drob d1)
{
drob v=*this;
v.p *= d1.q;
v.q *= d1.p;
return v;
}
bool drob::operator==(const drob& d1)
{
drob fv;
if (d1.p == fv.p && d1.q == fv.q)
return true;
return false;
}
bool drob::operator!=(const drob& d1)
{
drob fv;
if (d1.p != fv.p && d1.q == fv.q || d1.p == fv.p && d1.q != fv.q || d1.p != fv.p && d1.q != fv.q)
return true;
return false;
}
bool drob::operator<(const drob& d1)
{
drob jn;
if (jn.p*d1.q < jn.q*d1.p)
return true;
return false;
}
bool drob::operator>(const drob& d1)
{
drob jn;
if (jn.p*d1.q > jn.q*d1.p)
return true;
return false;
}
bool drob::operator<=(const drob& d1)
{
drob jn;
if (jn.p*d1.q < jn.q*d1.p || jn.p*d1.q == jn.q*d1.p)
return true;
return false;
}
bool drob::operator>=(const drob& d1)
{
drob jn;
if (jn.p*d1.q > jn.q*d1.p || jn.p*d1.q == jn.q*d1.p)
return true;
return false;
}
drob drob::stepen(int a)
{
drob hj=*this;
drob j = *this;
for (int i = 0; i < a-1; i++)
{
hj.p *= j.p;
hj.q *= j.q;
}
return hj;
}
drob drob::skor()
{
drob nm=*this;
if (nm.p > nm.q && nm.p%nm.q == 0)
{
nm.p /= nm.q;
nm.q = 1;
return nm;
}
else
{
cout « "drib neskorotniy" « endl;
}
if (this->p < this->q && this->q%this->p == 0)
{
this->q /= nm.p;
this->p = 1;
return *this;
}
else
{
cout « "drib neskorotniy" « endl;
}
}
void drob::input()
{
cout « "vvedit p:" « endl;
cin » this->p;
cout « "vvedit q:" « endl;
cin » this->q;
}
void drob::output()
{
cout « "p=" « this->p « "\t" « "q=" « this->q « endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 20:16     унаслодовать класс
Посмотрите здесь:

C++ Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
C++ Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами
C++ Класс домов и класс улиц для учета поступлений квартплаты. Массив
Класс, производный класс, паблик-класс C++
C++ Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки машин ”: марка
Реализовать класс Goods используя для представления цены класс Money C++
C++ Ошибка в выводе данных, класс выводит правильно, а класс в классе - нет
Отдельно класс данных, класс формул и главный класс C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru