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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Действия со строками http://www.cyberforum.ru/cpp-beginners/thread210380.html
16.Составить программу на СИ. Где дан текст. Определить, встречается ли в нем заданное слово, если да – то сколько раз.
C++ Вычислить площадь фигуры ограниченной линиями Ребят помогите плс!Задачка никак не получается((( Постановка задачи. Вычислить площадь фигуры ограниченной линиями f1(x) и f2(x) (табл.1). Для вычисления площади фигуры ограниченной линиями... http://www.cyberforum.ru/cpp-beginners/thread210370.html
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. C++
Ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове. Ha Cu. Заранее спасибо за помошь.
C++ Одиночное наследование классов.
Реализовать наследование классов, их конструкторов, и если необходимо деструкторов, для своего варианта. Продемонстрировать в программе работу функций классов. Создать класс Fruit, содержащий...
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")) // и т. д.
никто не отменял. я немного ошибся с кем не бывает.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru