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

Разработать конструктор, деструктор - C++

Восстановить пароль Регистрация
 
Lexa_steel
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 6
09.01.2013, 23:07     Разработать конструктор, деструктор #1
Разработать класс, набор методов (конструктор, деструктор и указаны методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), использующий объекты разработанного класса:
Объект «рационально не сократимых дробь, представлен парой целых чисел». Конструктор должен позволить создавать объекты без и с начальной инициализацией. Реализовать метод toString и EQ - преобразование дроби в символьная строка и сравнение на двух дробь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 23:07     Разработать конструктор, деструктор
Посмотрите здесь:

C++ конструктор и деструктор
C++ Конструктор и деструктор
Конструктор/деструктор C++
C++ Конструктор и деструктор
Разработать класс Airplane (самолет). Определить конструктор и деструктор. Реализовать объявленные методы доступа к данным. C++
C++ Конструктор и деструктор
C++ С++. Конструктор, деструктор
Конструктор и деструктор C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
09.01.2013, 23:51     Разработать конструктор, деструктор #2
где-то был класс дробей, найду скину.

Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#ifndef _DROB_H
#define _DROB_H
#include <string>
#include <iostream>
#include <sstream>
 
using namespace std;
class TRational{
    long chis,zn;
    void Reduce();
    int NOD(long x, long y);
public:
    TRational(const long &c=0, const long &z=1);
    TRational(const int &c, const int &z);
    TRational(const double &r);
    string toString();
    TRational Add(const TRational &r);
    TRational operator +(const TRational &r);
    TRational operator +(const long &r);
    TRational& operator +=(const TRational &r);
 
};
#endif  
 
int TRational::NOD(long x, long y){
if(y==0)return x;else return NOD(y , x%y);
}
void TRational::Reduce(){
long t;
t = abs(NOD (chis,zn));
chis /= t;
zn /= t;
}
 
TRational::TRational( const long &c,const long &z):chis(c),zn(z){
    
    if (zn==0) {cout<<"Error - divide by zero"; exit ;}
    Reduce();
    }
TRational::TRational(const int &c, const int &z):chis(c),zn(z){
    if(zn==0){cout<<"Error - divide by zero"; exit ;}
    Reduce();
    }
TRational::TRational( const double &r){
    double val1, val2;
    val1 = r*10000000L; val2 =r* 1000000L;
    chis = long(val1 -val2);
    zn = 90000000L;
    Reduce();
}
string  TRational::toString() const{
stringstream ss (stringstream::in | stringstream::out);
string str;
  ss << chis<<'/'<<zn;
  ss >> str;
  return str;
}
TRational TRational::Add(const TRational &r){
    TRational t =*this;
    
    t.chis = t.chis * r.zn + r.chis * t.zn;
    t.zn *=r.zn;
    t.Reduce();
    return t;
}
TRational TRational::operator +(const TRational &r)
{
    TRational t =*this;
    
    t.chis = t.chis * r.zn + r.chis * t.zn;
    t.zn *=r.zn;
    t.Reduce();
    return t;
}
TRational& TRational::operator +=(const TRational &r){
    
    chis = chis * r.zn + r.chis * zn;
    zn *=r.zn;
    Reduce();
    return *this;
}
TRational TRational::operator +(const long &r){
    TRational t(r);
    t += *this;
    t.Reduce();
    return t;
}
TRational& TRational::operator ++(){
    
    *this=*this+1;
    Reduce();
    return *this;
}
TRational TRational::operator ++(int){
    TRational t;
    t=*this;
    *this=*this+1;
    Reduce();
    return t;
}
ostream& operator<<(ostream &t,const TRational &r){
    t<<r.toString();
    return t;
}
Класс дроби, изучайте.
Yandex
Объявления
09.01.2013, 23:51     Разработать конструктор, деструктор
Ответ Создать тему
Опции темы

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