Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конструктор копирования и vector 
V
    Опции темы
Vovan222
Дата 6.12.2010, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 9.9.2010

Репутация: нет
Всего: нет



Всем привет, вот код:
Код

#include "stdafx.h"

using namespace std;

template <class eltype>
class objtype
{
    public:
        objtype(const int& n=0) : a(n,0){}
        vector<eltype> a;
};

int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int i;
    double s;
    objtype<double> x(3), y(x);

    x.a[1] = 123;

    copy(x.a.begin(),x.a.end(),ostream_iterator<double>(cout," "));
    cout << endl;

    copy(y.a.begin(),y.a.end(),ostream_iterator<double>(cout," "));
    cout << endl;

    return 0;
}

Подскажите почему работает строчка:
Код

objtype<double> x(3), y(x);


Кто создал конструктор копирования 
Код

objtype<double>(objtype<double>&)

вектор что-ли?
PM MAIL   Вверх
Crafty
Дата 7.12.2010, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Если конструктор копирования в классе не определен, то компилятор создаст его сам. Так называемый синтезируемый конструктор копирования, который осуществляет почленную инициализацию.
PM MAIL   Вверх
Vovan222
Дата 8.12.2010, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 9.9.2010

Репутация: нет
Всего: нет



Crafty, т.е он делает что-то типа этого:
Код

objtype<double>(objtype<double>& obj) : a(obj.a)
{
}

?
PM MAIL   Вверх
Crafty
Дата 8.12.2010, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Vovan222, Именно так.
PM MAIL   Вверх
Vovan222
Дата 9.12.2010, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 9.9.2010

Репутация: нет
Всего: нет



спасибо
PM MAIL   Вверх
azesmcar
Дата 9.12.2010, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Vovan222 @  8.12.2010,  23:51 Найти цитируемый пост)
.е он делает что-то типа этого:

Именно "что-то типа". Вот тут смотри подробнее

http://forum.vingrad.ru/forum/topic-262056...y1887548/0.html
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0808 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.