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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tanagra
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 22
#1

наследование - C++

30.11.2010, 22:00. Просмотров 403. Ответов 1
Метки нет (Все метки)

Всем привет.Проблема в том,
что у меня не сравниваются числа в классе Fraction.Я просто не знаю,как правильно это сделать.Подскажите пожалуйста.Вот моя задача:
Создать класс Pair(пара чисел);определить методы изменения полей и сравнения пар:пара р1>р2.
Определить класс-наследник Fraction с полями:целая часть числа и дробная часть числа.(у меня здесь идёт наследование)

А вот это,то что у меня есть:
#include"stdio.h"
#include "iostream"
#include "math.h"
using namespace std;

class pair
{
public:
int p1,p2;
void fun(pair p);
void change(pair&);
pair();
~pair();
};

pair :: pair()
{
p1=2;
p2=6;
}
pair ::~pair()
{
}

class fraction : public pair
{
public:
float cel, drob;
fraction();
void sravnenie(fraction fr);
void changeF(fraction&);
~fraction();
};

fraction::fraction()
{
cel=0;
drob=0;
}

fraction::~fraction()
{
}

void fun(pair p)
{
if(p.p1>p.p2)
cout<<p.p1<<">"<<p.p2<<endl;
else if(p.p1<p.p2)
cout<<p.p1<<"<"<<p.p2<<endl;
else if(p.p1=p.p2)
cout<<p.p1<<"="<<p.p2<<endl;
};

void change(pair&p)
{
int newp1, newp2;
cout<<"new p1, p2"<<endl;
cin>>newp1;
cin>>newp2;
p.p1=newp1;
p.p2=newp2;

};

void changeF(fraction&fr)
{
float c, d,e;
cout<<"vvedite chislo: "<<endl;
cin>>e;
c=e/10;
fr.cel=c;
d=efmod(10);
fr.drob=d;

};

void sravnenie(fraction fr)
{
if(fr.cel>fr.drob)
cout<<fr.cel<<">"<<fr.drob<<endl;
else if(fr.cel<fr.drob)
cout<<fr.cel<<"<"<<fr.drob<<endl;
else if(fr.cel=fr.drob)
cout<<fr.cel<<"="<<fr.drob<<endl;
};

int main()
{
pair p;
fraction fr;
int s;
cout<<"use 1 for pair >> use 2 for fraction >> your choice=";
cin>>s;
switch(s)
{
case(1):
cout<<"use 1 to view >> use 2 to change parametres >> your choice=";
cin>>s;
switch(s)
{
case 1: fun(p); break;
case 2: change(p);fun(p);break;
default: cout<<"error"<<endl;
}
break;

case(2):changeF(fr);sravnenie(fr);break;
default:cout<<"error"<<endl;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2010, 22:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос наследование (C++):

Заменить наследование классов на наследование интерфейсов - C++
#include &lt;iostream&gt; #include &lt;assert.h&gt; using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Наследование - C++
char* Texts :: SetBit() { char a; int b; cout &lt;&lt; &quot;Получаем битовую строку&quot; &lt;&lt; endl; cin &gt;&gt; a; b = strlen(a);...

наследование - C++
Пытаюсь разобраться в наследовании Есть класс class File { public: struct comp { char num; // Имя переменной char st;...

Наследование - C++
Всем привет. Может кто нибудь подсказать с чего начать при создании класса для работы с файлами на подобии ostream( а точнее как правильно...

наследование - C++
определить базовый класс ''точка''. Затем от него определить два произвольных класса ''прямоугольник'' и ''параллелепипед'', в каждом из...

Наследование?! - C++
привет всем. Есть класс Circle c1, c2, c3 Нужно реализовать через наследование класс множество, прошу помочь как он будет выглядеть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
01.12.2010, 12:04 #2
Для начала при описании функций класса указывается к какому классу данная функция принадлежит:
Цитата Сообщение от tanagra Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
void fun(pair p)
{
   if(p.p1>p.p2)
      cout<<p.p1<<">"<<p.p2<<endl;
   else if(p.p1<p.p2)
      cout<<p.p1<<"<"<<p.p2<<endl;
   else if(p.p1=p.p2)
      cout<<p.p1<<"="<<p.p2<<endl;
};
Правильно будет
void pair::fun(pair p){...};
и т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2010, 12:04
Привет! Вот еще темы с ответами:

наследование - C++
Как наследовать классы с использованием виртуальных функций? Можете привести пример?

наследование в С++ - C++
Добрый вечер. относительно недавно мною была получена задача, а точнее несколько задач в одной...И как это ни печально звучит, проблемы...

наследование - C++
помогите пожалуйсто дописать класс многоугольников , и рисовать на монитор с помощью mfc , заранее благодарен... class figure{ public: ...

Наследование в C++ - C++
Прошу помощи, ибо С++ не моё, а лабораторные работы девушке сдавать надо: Создать 1 базовый класс и несколько производных. Все...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru