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

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

Восстановить пароль Регистрация
 
tanagra
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 22
30.11.2010, 22:00     наследование #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++
C++ наследование
C++ Наследование?!
наследование C++
Наследование C++
Наследование C++
Наследование наследование ) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
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){...};
и т.д.
Yandex
Объявления
01.12.2010, 12:04     наследование
Ответ Создать тему
Опции темы

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