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

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

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

Оператор присваивания. Строки и координаты. - C++

13.05.2011, 13:33. Просмотров 444. Ответов 0
Метки нет (Все метки)

Здравствуйте.
Не могу перегрузить оператор присваивания для класса строки и класса координаты точки на плоскости. Строку вроде бы делал по примеру, компилируется, но не работает, для координат вообще ничего толкового не написал. Помогите, пожалуйста.

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
#include "StdAfx.h"
#include "str.h"
#include "string.h"
#include <iostream>
using namespace std;
 
str::str(void)
{   
    str1=new char [100];
 
}
 
str::~str(void)
{
    delete [] str1;
}
str::str(const str &S1)
{
    str1=strdup (S1.str1);
    if (!str1)
    {
        throw 1;
    }
}
bool str::operator < (const str& S1)
{
    int k;
    k=strcmp (S1.str1, str1);
    if (k<0)
    {
        return false;
    }
    if (k>0)
    {
        return true;
    }
}
bool str::operator > (const str& S1)
{
    int k;
    k=strcmp (S1.str1, str1);
    if (k<0)
    {
        return true;
    }
    if (k>0)
    {
        return false;
    }
}
ostream& operator <<(ostream& out, const str& S1)
{
    if (S1.str1)
    {
        out<<S1.str1<<endl;
    }
    return out;
}
istream& operator >> (istream& in, str& S1)
{
    if (S1.str1)
    {
        in>>S1.str1;
    }
    return in;
 
}
str& str:: operator =(const str &S1)
{
    if (this==&S1)
    {
        return* this;
    }
    if (str1)
    {
        delete[]str1;
        str1=new char[100];
        
    }
    strcpy (str1,S1.str1);
    return* this;
}
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
#include "StdAfx.h"
#include "tochka.h"
 
tochka::tochka(void)
{
    int* koor=new int[2];
}
 
tochka::~tochka(void)
{
}
bool operator < (const tochka&T1, const tochka&T2)
{
    if ((T1.koor[0]<T2.koor[0])||((T1.koor[0]==T2.koor[0])&&(T1.koor[1]<T2.koor[1])))
    {
        return true;
    }
    else
    {
        return false;
    }
}
bool operator > (const tochka&T1, const tochka&T2)
{
    if ((T1.koor[0]>T2.koor[0])||((T1.koor[0]==T2.koor[0])&&(T1.koor[1]>T2.koor[1])))
    {
        return true;
    }
    else
    {
        return false;
    }
}
ostream& operator <<(ostream& out, const tochka&T1)
{
    if ((T1.koor[0])&&(T1.koor[1]))
    {
        out<<T1.koor[0]<<","<<T1.koor[1]<<endl;
    }
    return out;
}
istream& operator >> (istream& in, tochka&T1)
{
    if ((T1.koor[0])&&(T1.koor[1]))
    {
        in>>T1.koor[0]>>T1.koor[1];
    }
    return in;
}
tochka& tochka::operator =(const tochka &T1)
{
    return* this;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 13:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор присваивания. Строки и координаты. (C++):

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Оператор присваивания в c++ - C++
Такой вопрос, для каких классов следует явно перегрузить оператор присваивания??

Оператор присваивания - C++
Какая разница между оператором &quot;=&quot; и &quot;==&quot; Почему , например , в цикле нужно писать while(count==1) а не ...

оператор присваивания - C++
Подскажите пожалуйста, вот я создал класс, конструктор которого создает 2хмерный массив из 2ойного указателя, являющейся членом этого...

Оператор присваивания - C++
Добрый день! Помогите, пожалуйста, разобраться. Я не совсем понимаю работу перегруженного оператора присваивания в классе String, который...

Оператор присваивания. - C++
Всем привет!В универе щас работаем с классами и перегрузками.В частности перегрузкой оператора присваивания и индексации.И я в упор не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 13:33
Привет! Вот еще темы с ответами:

оператор присваивания - C++
Привет всем ! Каким образом вызывается оператор присваивания, например, здесь: a = &quot;I &quot;; если в аргументе char*, а в операторе...

Оператор присваивания - C++
Почему в этом случае вызывается оператор присваивания Fraction f4; f4 = f1+f2+f3; а в другом не вызывается: ...

Перегруженный оператор присваивания - C++
Достаточно информации прочитал, что такое перегруж. оператор присваивания, но не до конца понимаю суть данного вопроса - &quot;в каком месте...

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


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

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

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