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

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

Восстановить пароль Регистрация
 
Ktulu
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 17
13.05.2011, 13:33     Оператор присваивания. Строки и координаты. #1
Здравствуйте.
Не могу перегрузить оператор присваивания для класса строки и класса координаты точки на плоскости. Строку вроде бы делал по примеру, компилируется, но не работает, для координат вообще ничего толкового не написал. Помогите, пожалуйста.

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++ Оператор присваивания и деструктор
Оператор присваивания C++
C++ оператор присваивания
оператор присваивания C++
Оператор присваивания. C++
Оператор присваивания в c++ C++
Оператор присваивания C++
Оператор присваивания C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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