Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Динамический массив и работа с файлами https://www.cyberforum.ru/ cpp-beginners/ thread123721.html
Было дано задание: Массив определять как динамический. Исходные данные и результаты размещать в текстовых файлах. Обработку массивов оформить в виде функций. Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10. Найти сумму модулей элементов, расположенных выше главной...
C++ При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере:
При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере: 30% сумм годового платежа при страховании на 2 месяца; 40% - 3 месяца; 50% - 4 месяца; 60% - 5 месяцев; 70% - 6 месяцев; 75% - 7 месяцев; 80% - 8 месяцев; 85% - 9 месяцев; 90% - 10 месяцев; 95% - 11 месяцев. Определить размер платежа в зависимости от условий...
C++ Изучение С++! Помогите, пожалуйста! Хочу научиться программированию. Подскажите с чего мне начать! Какая литература очень легка в освоении и эффективеа при обучении? https://www.cyberforum.ru/ cpp-beginners/ thread123708.html C++ Вычислить k-тое число последовательности целых простых чисел Уважаемые эксперты, пожалуйста подскажите как правильно написать программу. Необходимо вычислить k-тое число последовательности целых простых чисел (где k>1) вот то что я сам накосячил: #include<stdio.h> #include<math.h> #include<conio.h> #include <stdlib.h> int main() { clrscr; https://www.cyberforum.ru/ cpp-beginners/ thread123700.html
Самый редко встречаемый символ C++
Задан массив A. Найти самый редко встречаемый символ. Может быть пригодится кому, но вот исходник задачи обратной - самый часто встречаемый символ. #include <iostream.h> int main() { int i,j,S,SPred=0; char a,sim1,sim2; for(i=0;i<32;i++) cin>>a;
C++ Вывести все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр. https://www.cyberforum.ru/ cpp-beginners/ thread123687.html
Вот, собственно и условие: Вывести все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр. Пожалуйста, помогите решить.
C++ Последнее препятствие перед зачетом https://www.cyberforum.ru/ cpp-beginners/ thread123655.html
Помогите пожалуйста с двумя задачами для курсовой. Буду очень благодарен! 1)Задать двумерный массив с помощью "списка списков". Можно использовать любой тип списков. 2)Реализовать деку на основе списка не используя возможности STL и на основе контейнеров библиотеки STL.
C++ Блок Схема
#include <conio.h> #include <iostream> #include <iomanip> #include <time.h> #include <math.h> #define m 2 #define n 2 using namespace std; void inizialize(int);
C++ [c++] Перегрузка операторов Не работает. #include <conio.h> #include <iostream.h> #pragma argsused struct FazzyNumber { double x; double x1,x2; void init(double X,double e1,double e2); FazzyNumber operator+(); https://www.cyberforum.ru/ cpp-beginners/ thread123650.html C++ Как создать вектор из векторов и как потом к нему обращаться? https://www.cyberforum.ru/ cpp-beginners/ thread123621.html
Банальный вопрос - как создать вектор из векторов и как потом к нему обращаться? вот vector<int> a; - это, понятное дело, вектор а, а вот vector<(vector<int>)> a; написать нельзя. ХЗ как обойти это?
C++ C++
помогите пожалуйста перевести фрагмент программы на С++) writeln('Введите x'); writeln('Введите y'); for i:=1 to n do begin x:=random(10)-5; y:=random(10)-5; end; for i:=1 to n do begin writeln('(',x:0:3,',',y:0:3,')');
C++ Создать функцию Chet(k) логического типа,возвращающую True , если целый параметр К является чётным и False в противном случае Создать функцию Chet(k) логического типа,возвращающую True , если целый параметр К является чётным и False в противном случае. С помощью этой функции определить чётность значений , вводимых с клавиатуры. Использовать функцию Chet(k) для создания функции Chetmas, определяющую количество чётных чисел в одномерном массиве.Использовать функцию Chetmas для подсчёта количества чётных чисел в в... https://www.cyberforum.ru/ cpp-beginners/ thread123608.html
22 / 22 / 3
Регистрация: 12.05.2009
Сообщений: 43
0

Утечка при перегрузки оператора "+" - C++ - Ответ 695450

30.04.2010, 00:38. Показов 732. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю велосипед под названием andString (string)
andString.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class andString
{
    char *sTring;
    unsigned int nLenght;
    
    
public:
    friend ostream &operator<<(ostream &, andString &);
    friend istream &operator>>(istream &, andString &);
 
    //
    andString &operator=(const andString &);//General
    andString &operator=(const char *);
    andString &operator=(const char);
 
    //
    andString &operator+(const andString &);//General !Здесь то и проблемы, со всеми операторами +!
 
    friend andString &operator+(const andString &,const char *);
///....///тд
andString.cpp
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
#include <iostream>
using namespace std;
 
#include "andString.h"
 
//
andString::andString()
{
    nLenght = 0;
    sTring = NULL;
}
//
ostream &operator<<(ostream &stream,andString &aStr)
{
    stream<<aStr.sTring;
    return stream;
}
//
istream &operator>>(istream &stream,andString &aStr)
{
    char *sTemp=new char[1024];
    stream>>sTemp;
    delete [] aStr.sTring;
    aStr.nLenght = strlen(sTemp)+1;
    aStr.sTring = new char[aStr.nLenght];
    for(int i=0; i<aStr.nLenght ; ++i)
        aStr.sTring[i] = sTemp[i];
    delete [] sTemp;
    return stream;
}
//////..../////
//Add
//!
andString &andString::operator+(const andString &aStr)
{
    andString *asOpTemp = new andString;
    delete [] asOpTemp->sTring;
    asOpTemp->nLenght = nLenght + aStr.nLenght - 1;
    asOpTemp->sTring = new char[asOpTemp->nLenght];
    for(int i = 0 ; i < nLenght-1 ; ++i)
        asOpTemp->sTring[i] = sTring[i];
    for(int i = 0 ; i < aStr.nLenght ; ++i)
        asOpTemp->sTring[i + nLenght -1] = aStr.sTring[i];
    return *asOpTemp;
}
////.....////
При таком коде operator+ возникает утечка (та и вообще код не самый "красивый")
При перегрузке НЕ должны изменятся левый и правый операнд...
Каким образом можно реализовать оператор?
Может статическими переменными?

Вернуться к обсуждению:
Утечка при перегрузки оператора "+" C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2010, 00:38
Готовые ответы и решения:

Ошибка при реализации перегрузки оператора <<
Добрый день. Прошу помощи. Имеется такой класc. class DList { ... public: ... void...

Целесообразность перегрузки оператора
Изначально имелся такой вот метод (пусть будет методом класса &quot;A&quot;): //класс &quot;A&quot;, константная...

Использование перегрузки оператора +
Есть у меня класс CPoint, с конструктором: CPoint::CPoint(float x, float y) { setX(x);...

Ошибка перегрузки оператора
Здравствуйте уважаемые программисты, при созданиии проэкта возникает ошибка In function 'int...

Ошибка из книги оператора перегрузки
// Листинг 10.10. // Возвращение безымянного временного объекта #include &lt;string&gt; #include...

2
30.04.2010, 00:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2010, 00:38
Помогаю со студенческими работами здесь

Ошибка после перегрузки оператора +
Здравствуйте, решил для себя попробовать перегрузить оператор + в классе. Вроде все хорошо работает...

Вопрос по поводу перегрузки оператора +
Всем привет.Подскажите как можно перегрузить оператор + в моем классе? И что лучше вернуть из...

Механизм работы перегрузки оператора '<<'
Здравствуйте! Вопрос будет по механизму работы (скорее даже &quot;почему так не работает&quot;) с...

Friend-функции перегрузки оператора
Всем доброго времени суток =) У меня есть следующий код заголовочного файла: enum month {jan = 1,...

Аналог перегрузки оператора индексирования (operator [])
Как по-другому(то есть в виде обычной функции или как то ещё) можно записать перегрузку оператора...

Сложности с реализацией перегрузки оператора сложения
Сложности с реализацией перегрузки оператора, выдает ошибку. Код: #include &quot;stdafx.h&quot; #include...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru