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

перезагрузка operator + - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Опять работа с файлами. С++ http://www.cyberforum.ru/cpp-beginners/thread660644.html
Доброго времени суток, уважаемые гуру программирования. Ранее я создавал тему, в которой просил у вас помощи по написанию программы, которая записывает в файл определенную информацию из входного файла. Очень вам всем благодарен за помощь. Теперь мне усложнили задачу, о способе решении которой я даже и не догадываюсь. Суть в том что в входном файле есть два пункта. (1. и 2. ) После которых...
C++ Не компилируется почему-то Вот код программы, она вроде как бы работает, но все равно выдаются ошибки, помогите пожалуйста их исправить, в c++ я новичок: #include <iostream.h> #include <conio.h> const ColTasks = 5; //Количество заданий struct STRtask { unsigned int tk; //длительность выполнения требования unsigned int Dk; //директивный срок unsigned int Gok; //время если требование первое unsigned int... http://www.cyberforum.ru/cpp-beginners/thread660634.html
C++ Обработка символьной информации
В заданном тексте вычислить среднее число слов в предложении и среднюю длину предложения.
Упорядочить строки матрицы по неубыванию сумм положительных элементов C++
Переформировать матрицу таким образом,что бы ее строки располагались в порядке неубывания сумм их положительных элементов.
C++ Сортировка массива строк http://www.cyberforum.ru/cpp-beginners/thread660598.html
Задание: Заполнить заранее проинициализированный массив строк фамилиями своей группы (не по порядку). Отсортировать все фамилии после вашей (Borzunov) и вывести их на экран. #include <cstdlib> #include <iostream> #include <string> using namespace std; int const a=8; int main()
C++ Захват звука с звуковой карты для отображения частотных характеристик Добрый день. Подскажите пожалуйста, как на С++ перехватывать звук, идущий на колонки? Т.е. я хочу отрисовывать столбец, который будит заполняться в зависимости от величины частоты. Короче, получать величины частот, поступающих на колонки. Гуглил долго, но везде конкретно не рассказано, только вода...Спрашивал на C# форуме, тоже никто ответить не может...Может быть на С++ удастся это... подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.09.2012, 11:55     перезагрузка operator +
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>
 
class String
{
public:
    String();
    String(const char* instance);
    String(const String& instance);
    ~String();
    
    const String& operator= (const String& instance);
    
    friend String operator+ (const String& s1, const String& s2);
    friend std::ostream& operator<< (std::ostream& stream, const String& instance);
    
    unsigned int length() const;
    
private:
    char* data;
    unsigned int size;
};
 
String::String() :
    data(), size()
{
}
 
String::String(const String& instance) :
    size(instance.size)
{
    data = new char[size + 1];
    for (unsigned int i = 0; i < size; ++i)
        data[i] = instance.data[i];
    data[size] = NULL;
}
 
String::String(const char* instance) :
    size(static_cast<unsigned int >(strlen(instance)))
{
    data = new char[size + 1];
    for (unsigned int i = 0; i < size; ++i)
        data[i] = instance[i];
    data[size] = NULL;
}
 
String::~String()
{
    if (data)
    {
        delete[]data;
        data = NULL;
    }
}
 
unsigned int String::length() const
{
    return size;
}
 
const String& String::operator= (const String& instance)
{
    if (data)
        delete[]data;
    
    size = instance.size;
    data = new char[size + 1];
    for (unsigned int i = 0; i < size; ++i)
        data[i] = instance.data[i];
    data[size] = NULL;
    
    return *this;
}
 
String operator+ (const String& s1, const String& s2)
{
    String s;
    s.size = s1.size + s2.size;
    s.data = new char[s.size + 1];
    for (unsigned int i = 0; i < s1.size; ++i)
        s.data[i] = s1.data[i];
    for (unsigned int i = 0; i < s2.size; ++i)
        s.data[i + s1.size] = s2.data[i];
    s.data[s.size] = NULL;
    return s;
}
 
std::ostream& operator<< (std::ostream& stream, const String& instance)
{
    return stream << instance.data;
}
 
int main()
{
    String s("32323");
    const char* ptr = "vfdvfd";
    std::cout << (ptr + s) << std::endl;
    std::cout << (s + ptr) << std::endl;
    return EXIT_SUCCESS;
}
example)
 
Текущее время: 03:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru