Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
alex_
4 / 4 / 1
Регистрация: 03.06.2011
Сообщений: 35
#1

создание класса - C++

21.10.2011, 19:32. Просмотров 373. Ответов 5
Метки нет (Все метки)

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
//---------------------------------------------------------------------------
 
#include <clx.h>
#pragma hdrstop
#include <stdio.h>
//---------------------------------------------------------------------------
 
class drob      //объявление класса
{
 private:
 int n;                    //объявление переменных
 int*a;
 public:
                        
 void del   (int a,int b); 
 void umn   (int a,int b); 
 void razn  (int a,int b);  
 void plus  (int a,int b):
 void print (void);
} 
;
 
 
    drob del.drob(drob a,drob b)
{drob c;
c.zn=a.znb*b.zn;
c.ch=a.ch*b.ch;
return c;
}
 
 
    drob umn.drob(drob a,drob b)
{drob c;
c.zn=a.znb*b.ch;
c.ch=a.ch*b.zn;
return c;
}
 
    drob razn.drob(drob a,drob b)
{drob c;
c.zn=a.zn*b.zn;
c.ch=a.ch*b.zn-b.ch*a.zn;
return c;
}
 
 
    drob plus.drob(drob a,drob b)
{drob c;
c.zn=a.zn*b.zn;
c.ch=a.ch*b.zn+b.ch*a.zn;
return c;
}
 
void drob::print(void)
{
printf("%d\n%d\n",c.zn,c.ch);
}
 
void main()                                   //тело программы
{
drob r1(7,8),r2(8,9),r3;
r3.del(r1,r2);
r3.print();
r3.razn(r1,r2);
r3.print();
r3.umn(r1,r2);
r3.print();
r3.plus(r1,r2);
r3.print();
getchar();
getchar();
}
не знаю что и делать т.к. многого мы не проходили и не принимает
(
C++
1
Rational Rational::Add (const Rational&s) const//вот эту const
)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2011, 19:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создание класса (C++):

Создание класса-списка на основе кода со списком без класса - C++
Здравствуйте. Не могли бы вы показать, как оформить этот код в виде класса. Смысл задания: это засунуть в список большое число(здесь я...

Построение описания класса, создание и уничтожение объектов этого класса - C++
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

Возможно ли создание объекта шаблонного класса в функции этого класса? - C++
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Создание указателя типа базового класса на экземпляр производного класса - C++
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса - наследника, для чего это может применяться?

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

Явное создание экземпляра класса и явная специализация шаблона класса - C++
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

5
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.10.2011, 20:34 #2
alex_, как соотносится первый код (длинный) со вторым (коротким)? Второй код - строка из совершенно другой программы.
0
alex_
4 / 4 / 1
Регистрация: 03.06.2011
Сообщений: 35
21.10.2011, 22:09  [ТС] #3
второй код пробовал сдать но мне сказали что не проходили мы этого
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
class Rational
    {int a,b; //a-числитель b-знаменатель//
public: 
        Rational (int=0, int=1);
        Rational Add (const Rational&) const;
        Rational Sub (const Rational&) const;
        Rational Mult (const Rational&) const;
        Rational Div (const Rational&) const;
        void Print () const;
        void Change (int,int);
private:
    int Nod (int, int) const;
};
 
 
 
Rational::Rational (int chislit, int znamenat)
    {a=chislit;
    if(znamenat)
        b=znamenat;
    else
        {cout<<"Ne mogu podelit na ZERO"<<endl;
        exit(1);}
    }
Rational Rational::Add (const Rational&s) const
    {
    int c;
    Rational Sum;
    Sum.a=a*s.b+b*s.a;
    Sum.b=b*s.b;
    if (Sum.a>Sum.b)
        c=Nod (Sum.b, Sum.a);
    else
    c=Nod (Sum.b, Sum.a);
    Sum.a=Sum.a/c;
    Sum.b=Sum.b/c;
    return Sum;
    }
 
Rational Rational::Sub (const Rational&s) const
    {
    int c;
    Rational Sum;
    Sum.a=a*s.b-b*s.a;
    Sum.b=b*s.b;
    if (Sum.a>Sum.b)
        c=Nod (Sum.b, Sum.a);
    else
    c=Nod (Sum.b, Sum.a);
    Sum.a=Sum.a/c;
    Sum.b=Sum.b/c;
    return Sum;
    }
 
Rational Rational::Mult (const Rational&s) const
    {
    int c;
    Rational Sum;
    Sum.a=a*s.a;
    Sum.b=b*s.b;
        if (Sum.a>Sum.b)
        c=Nod (Sum.b, Sum.a);
    else
    c=Nod (Sum.b, Sum.a);
    Sum.a=Sum.a/c;
    Sum.b=Sum.b/c;
    return Sum;
    }
 
Rational Rational::Div (const Rational&s) const
    {
    int c;
    Rational Sum;
    Sum.a=a*s.b;
    Sum.b=b*s.a;
    if  (s.a==0)
        {cout<<"nelzia delit na Zero"<<endl;
        exit (1);};
    if (Sum.a>Sum.b)
        c=Nod (Sum.b, Sum.a);
    else
    c=Nod (Sum.b, Sum.a);
    Sum.a=Sum.a/c;
    Sum.b=Sum.b/c;
    return Sum;
    }
void Rational::Print () const
    {cout<<a<<"/"<<b<<endl;}
void Rational::Change (int d, int e)
    {int f;
    a=d;
    if (e)
        b=e;
    else
    {cout<<"ne mogu delit na zero"<<endl;
    exit (1);};
    if (a>b)
        f=Nod(a,b);
    else 
        f=Nod(b,a);
    a=a/f;
    b=b/f;
    }
 
int Rational::Nod (int c, int d) const
    {
    if (d==0)
        return c;
    if (c%d==0)
    return 1;
    return Nod (d, c%d);
    }
 
 
 
int main ()
{
    Rational R1 (7,11), R2 (0,7), R3;
R3=R1.Add(R2);
R1.Print();
R2.Print();
R3.Print();
 
R3=R1.Sub(R2);
R3.Print();
R3=R2.Sub(R1);
R3.Print();
R3=R1.Mult(R2);
R3.Print();
R3=R1.Div(R2);
R3.Print();
 
 
 
return 0;
}
0
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
21.10.2011, 22:13 #4
alex_, чего вы не проходили? модификатор const после заголовка функции? ну так удалите его везде
0
alex_
4 / 4 / 1
Регистрация: 03.06.2011
Сообщений: 35
23.10.2011, 19:27  [ТС] #5
удаляю const выходит ошибка
[Linker Error] Unresolved external 'Rational::Rational(int, int)' referenced from D:\Ñ++\ÍÎÂÀß ÏÀÏÊÀ (3)\UNIT1.OBJ
0
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
23.10.2011, 22:23 #6
alex_, надо этот const после заголовка функций удалить не только в классе, но и далее по тексту в определении функций, и все будет работать
0
23.10.2011, 22:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2011, 22:23
Привет! Вот еще темы с ответами:

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами - C++
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

создание объекта класса в методе этого же класса - C++
собственно вопрос. можно ли создавать объект класса в методе того же класса? насколько это правильно и как это можно сделать (если это...

Создание экземпляр класса из другого класса - C++
Добрый день, форумчане. Помогите разобраться с такой плюсовенькой проблемой: есть 2 класса (назовем их A &amp; B). Нужно в классе B запустить...


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

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

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