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

Перегрузка << для вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Действия со строками http://www.cyberforum.ru/cpp-beginners/thread210380.html
16.Составить программу на СИ. Где дан текст. Определить, встречается ли в нем заданное слово, если да – то сколько раз.
C++ Вычислить площадь фигуры ограниченной линиями Ребят помогите плс!Задачка никак не получается((( Постановка задачи. Вычислить площадь фигуры ограниченной линиями f1(x) и f2(x) (табл.1). Для вычисления площади фигуры ограниченной линиями можно использовать итерационное выражение Si+1= Si + (f2(xi) – f1(xi)) dx , где S0 = 0 , x0 = 0 и i = 0, 1, 2...n . Я прикрепляю картинку с графиком и моей функцией..Нужно сделать через цикл while... http://www.cyberforum.ru/cpp-beginners/thread210370.html
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. C++
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. Ha Cu. Заранее спасибо за помошь.
C++ Одиночное наследование классов.
Реализовать наследование классов, их конструкторов, и если необходимо деструкторов, для своего варианта. Продемонстрировать в программе работу функций классов. Создать класс Fruit, содержащий следующие элементы: - поле «зрелость» int Ripeness; - поле «название» char* Name; - поле «цвет» char* Color; - метод получения зрелости int GetRipeness() ; - метод получения цвета char* GetColor();...
C++ Перегрузка функций http://www.cyberforum.ru/cpp-beginners/thread210364.html
Для соответствующего класса, перегрузить арифметические операции(+,-,*,/). При перезгузке арифметические действия должны выполняться относительно только числовых полей!!! Создать несколько объектов класса и проинициализировать их с помощью конструктора с параметрами. Создать несколько дополнительных объектов таким образом, чтобы: - первый объект являлся суммой двух других объектов; - второй...
C++ Найти самое короткое слово. Строки помогите бедной студентке =) Условие) Строки. Дан текст. Найти самое короткое слово. подробнее

Показать сообщение отдельно
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
14.12.2010, 13:26
Цитата Сообщение от norge_goth Посмотреть сообщение
каждый раз конструируется новый объект, а у меня объект (я так предполагаю) в ретурне просто копируется, но не конструируется,
еще как конструируется, просто ты не в тот конструктор вписал вывод на экран.
вот этот конструктор:
C++
1
my_vector() { cout << "Object created" << endl; }
какие аргументы принимает? никаких, а тут:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    my_vector operator<<(std::string str)
    {
        cout << "Operator << " << endl;
        this->push_back(str);
        ++i;
        
        //vector output 
        cout << i << ". ";
        p_iter = this->begin();
 
        while (p_iter != this->end())
        {
            cout << *p_iter << '\t';
            ++p_iter;
        }
 
        cout << endl;
        return *this; // вот тут вызывается конструктор копирования для конструирования нового объекта.
    }
какой конструктор вызывается? правильно my_vector(const my_vector&).
Цитата Сообщение от norge_goth Посмотреть сообщение
Если сделать так : ...
я понял, моя оплошность, временные объекты же передаются один к другому, каждый текущий объект - копируется для создания следующего. Это как раз потому что:
Цитата Сообщение от Aye Aye Посмотреть сообщение
((tr_vect.operaor<<(std::string("zero"))).operator<<(std::string("one"))).operator<<(std::string("two")) // и т. д.
никто не отменял. я немного ошибся с кем не бывает.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru