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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
RASHFor
6 / 6 / 0
Регистрация: 12.02.2012
Сообщений: 224
#1

Копировать значение поля m_moo в значение поля m_moo класса foo - C++

18.09.2012, 21:08. Просмотров 533. Ответов 3
Метки нет (Все метки)

А что означает запись?
C++
1
Foo1(Foo1 const& foo):m_moo(foo.moo)
то что это к.копирования понятно.Не понятно,зачем список инициализации....
это значит что то типа:копирует значение поля m_moo в значение поля m_moo класса foo?
спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 21:08     Копировать значение поля m_moo в значение поля m_moo класса foo
Посмотрите здесь:

C++ передать значение из одного поля диалогового окна в другое поле
C++ Статические поля класса
В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! C++
Statiс Поля Класса C++
поля класса C++
C++ Поля класса
C++ Поля дружественного класса
C++ Структура (значение поля структуры приравнять к значению функции)
C++ Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать?
C++ Как сделать чтобы класс возвращал значение своего поля?
Передача поля класса C++
Задачка: какое значение вернет foo(7)? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
758 / 691 / 124
Регистрация: 27.07.2012
Сообщений: 1,980
Завершенные тесты: 3
18.09.2012, 22:28     Копировать значение поля m_moo в значение поля m_moo класса foo #2
Зачем тут список инициализации как раз понятно: чтобы инициализировать поля создаваемого объекта (кэп!). Не понятно, почему копируются не одноимённые поля. Можно на весь класс взглянуть?
RASHFor
6 / 6 / 0
Регистрация: 12.02.2012
Сообщений: 224
18.09.2012, 23:01  [ТС]     Копировать значение поля m_moo в значение поля m_moo класса foo #3
конечно.это учебный пример
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
#include "stdio.h"
 
class Foo
{
public:
    Foo():m_moo(0)
    {
    }
    Foo(Foo const& foo) :m_moo(foo.m_moo)
    {
        printf("Creating copy of foo\n");
    }
private:
    int m_moo;
};
class Bar
{
public:
    void Do()
    {
        printf("Do\n");
    }
private:
    Foo m_foo;
};
 
void f(Bar b)
{
    printf("f()\n");
    b.Do();
Добавлено через 3 минуты
получается создаётся foo и его поле moo иниц.значением поля moo класса Foo
John Prick
758 / 691 / 124
Регистрация: 27.07.2012
Сообщений: 1,980
Завершенные тесты: 3
18.09.2012, 23:06     Копировать значение поля m_moo в значение поля m_moo класса foo #4
Ааа, обмануть хотели
C++
1
Foo1(Foo1 const& foo):m_moo(foo.moo)
и
Foo(Foo const& foo) :m_moo(foo.m_moo)
Теперь стало понятно. Всё в коде правильно. Поле m_moo инициализируется соответствующим значением m_moo объекта, чья копия создаётся. Аналогично тому, как это производилось в обычном конструкторе. На то он и конструктор копирования, чтобы копии объектов создавать.
Yandex
Объявления
18.09.2012, 23:06     Копировать значение поля m_moo в значение поля m_moo класса foo
Ответ Создать тему
Опции темы

Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru