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

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

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

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

18.09.2012, 21:08. Просмотров 541. Ответов 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
Посмотрите здесь:

Задачка: какое значение вернет foo(7)? - C++
Как решаются такие рода задачки, подскажите пожалуйста. int foo(int n) { if(n<=0) return 1; else return...

Структура (значение поля структуры приравнять к значению функции) - C++
Можно ли значение поля структуры приравнять к значению функции вот так STUD1.SES=COR(); Делаю так не присваивается пишет 0

передать значение из одного поля диалогового окна в другое поле - C++
Извините, поиском не могу найти ответ на простейший вопрос. Как считать или вывести данные поля? Сделал простейшее диалоговое окно...

Как сделать чтобы класс возвращал значение своего поля? - C++
Возможно я не верно выразился, есть класс: class Monstr { String name; int ammo; }; как сделать чтобы при: Monstr...

поля класса - C++
Задача заключается в поиске площади треугольника через класс. Программой должна быть предусмотрена проверка корректности ввода сторон...

Поля класса - C++
здравствуйте ) извините заранее если глупый вопрос :sorry: я просто новичок) class mycl { public: char a, b; }; ...

Константные поля класса - C++
Такой вопрос, как инициализировать константные поля класса? Работают конструкции вида obj():t(0){}; который используется в примере ниже. А...

Передача поля класса - C++
Всем доброй ночи. Возникла необходимость передачи поля одного класса, в качестве аргумента метода другого класса. Но ввиду недостатка...

Static поля класса - C++
объясните нубу, вот имею я такой код на С# class WebResponse { public static string GET(string Url, string Data) ...

Statiс Поля Класса - C++
Имея класс class Worker { static const int Part2 = 0x22; static const int Part3 = 0x44; public: static int Part1; ...

Поля дружественного класса - C++
есть примерно такой код class ClientAuthorization { public: int count; //считается в конструкторе, не буду писать весь код,...

Статические поля класса - C++
Не подскажете как инициализировать статический массив? Но чтобы я сам мог ввести этот массив.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 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
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 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
Ответ Создать тему
Опции темы

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