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

Перегрузка оператора + - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Извлечение из класса поля которое является множеством (set) http://www.cyberforum.ru/cpp-beginners/thread1003272.html
Здравствуйте! У меня есть класс одно из полей которого множество (set<Something> SomethingSet). Я хочу передать это множество в функцию и для этого нужно создать гетер. Может кто подсказать как...
C++ Изменить тип списка Здравствуйте. Нужна помощь с изменением типа списка. Я сделал программу для обработки списка но как оказалось не того типа. Нужно переделать эту программу под индексный список. читал об этом в сети... http://www.cyberforum.ru/cpp-beginners/thread1003271.html
Исправте ошибки в программе C++
#include<math.h> #include<stdio.h> #include<Windows.h> int main(){ int x,y,z,n; for (int x=0;x<=1000;x++); for (int y=0;x<=1000;y++); for (int z=0;z<=1000;z++); printf("n?\n");...
C++ Создать объект класса Круг
Создать объект класса Круг, используя классы Точка, Окружность. Методы: создать, удалить, вывести на экран, изменение радиуса, определение принадлежности точки данному кругу, определение площади....
C++ Удаление 1 строки из другой http://www.cyberforum.ru/cpp-beginners/thread1003232.html
Можно ли удалить 1 строку из другой с помощью операции '-' ? В функции oper() при попытке выдаются ошибки: error C2784: '_D __cdecl std::operator -(const class...
C++ Вещественные переменные Как указать вещественный тип переменной? подробнее

Показать сообщение отдельно
Сонца
23 / 23 / 6
Регистрация: 20.06.2013
Сообщений: 83
10.11.2013, 13:54  [ТС]
castaway,
Тогда подскажите где я не права?
Через дебагер удалось узнать, что tmp в operator+ получается нужный, но до main не доходит или не присваивается.
C++
1
2
3
4
5
6
7
8
9
int main()
{
    String sg1 ("Hello world");
    String sg2 (", hello friend!");
    String sg3;
    sg3 = sg1 + sg2;
 
    return 0;
}
Tulosba,


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
class String
{
    enum {Max = 80};
    char * str;
    int size;
public:
    String ();
    String (int);
    String (char *);
    String (const String & obj);
    ~String();
    void UserFill ();
    void Print ();
    String operator + (String & sg2);
    String operator = (String & sg2);
};
String::String ()
{
    str = nullptr;
    size = 0;
}
String::String (int size)
{
    str = new char [size];
    this->size = size;
}
String::String (char * str)
{
    this->str = new char [size = (strlen (str) + 1)];
    strcpy (this->str, str);
}
String::String (const String & obj) : size (obj.size)
{
    str = new char [size];
    strcpy (str, obj.str);
}
String::~String()
{
    delete []str;
    size = 0;
}
String String::operator + (String & sg2)
{
    String tmp;
    tmp.str = new char [tmp.size = size + sg2.size];
    strcpy (tmp.str, str);
    strcat (tmp.str, sg2.str);
    return tmp;
}
String String::operator = (String & sg2)
{
    return String (sg2);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.