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

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

Войти
Регистрация
Восстановить пароль
 
kzru_hunter
 Аватар для kzru_hunter
1084 / 759 / 58
Регистрация: 01.02.2011
Сообщений: 1,774
Записей в блоге: 1
#1

Передача дефолтных параметров - C++

20.12.2013, 16:01. Просмотров 228. Ответов 5
Метки нет (Все метки)

Объясню проблему на примере:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class TMyControl
{
public:
        TMyControl(int param1 = 100, int param2 = 150)
        {
        }
};
 
class TMyWrapper
{
public:
        // в данном случае пришлось скопировать дефолтные значения из конструктора TMyControl
        // что нужно сделать, чтобы этого не делать
        // нужно что-то типа этого:
        // TMyWrapper(int param1 = default, int param2 = default)
        TMyWrapper(int param1 = 100, int param2 = 150)
        {
                control = new TMyControl(param1, param2);
        }
protected:
        TMyControl *control;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 16:01     Передача дефолтных параметров
Посмотрите здесь:

передача параметров по ссылке C++
C++ Передача параметров
C++ Инкремент и передача параметров
C++ передача параметров в функцию
C++ Передача параметров в функцию
C++ Передача параметров в программу
Передача параметров в функцию C++
C++ Передача параметров по ссылке
C++ Передача параметров (функция)
Передача параметров в функцию C++
C++ Передача параметров в функции
C++ Передача параметров функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,164
Завершенные тесты: 2
20.12.2013, 16:08     Передача дефолтных параметров #2
определить default чтоб он был виден обоим классам и использовать его, но ясно понятно что оно будет всегда одно
kzru_hunter
 Аватар для kzru_hunter
1084 / 759 / 58
Регистрация: 01.02.2011
Сообщений: 1,774
Записей в блоге: 1
20.12.2013, 16:29  [ТС]     Передача дефолтных параметров #3
Цитата Сообщение от Кудаив Посмотреть сообщение
определить default чтоб он был виден обоим классам и использовать его, но ясно понятно что оно будет всегда одно
как?

вообще, как я понял, решение моей проблемы реализовано в C++11

Добавлено через 15 минут
Цитата Сообщение от Кудаив Посмотреть сообщение
определить default чтоб он был виден обоим классам и использовать его, но ясно понятно что оно будет всегда одно
так? так как-то непривычно из-за namespace
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
namespace ControlNameSpace
{
        int g_param1 = 100;
        int g_param2 = 150;
 
        class TMyControl
        {
        public:
                TMyControl(int param1 = g_param1, int param2 = g_param2)
                {
                }
        };
 
        class TMyWrapper
        {
        public:
                // Гў Г¤Г*Г*Г*îì ñëó÷Г*ГҐ ïðèøëîñü ñêîïèðîâГ*ГІГј äåôîëòГ*ûå Г§Г*Г*Г·ГҐГ*ГЁГї ГЁГ§ ГЄГ®Г*ñòðóêòîðГ* TMyControl
                // Г·ГІГ® Г*ГіГ¦Г*Г® ñäåëГ*ГІГј, ÷òîáû ýòîãî Г*ГҐ äåëГ*ГІГј
                TMyWrapper(int param1 = g_param1, int param2 = g_param2)
                {
                        control = new TMyControl(param1, param2);
                }
        protected:
                TMyControl *control;
        };
}
Arigato
Программист
 Аватар для Arigato
280 / 177 / 95
Регистрация: 05.12.2013
Сообщений: 655
Записей в блоге: 5
20.12.2013, 16:40     Передача дефолтных параметров #4
А константами их нельзя заделать?
C++
1
2
#define G_PARAM1 100
#define G_PARAM2 150
kzru_hunter
 Аватар для kzru_hunter
1084 / 759 / 58
Регистрация: 01.02.2011
Сообщений: 1,774
Записей в блоге: 1
20.12.2013, 17:05  [ТС]     Передача дефолтных параметров #5
Цитата Сообщение от Arigato_RU Посмотреть сообщение
#define G_PARAM1 100
#define G_PARAM2 150
Ненадежно, решил все же остановиться с использованием namespace
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
20.12.2013, 17:46     Передача дефолтных параметров #6
kzru_hunter, все равно константами объяви
Yandex
Объявления
20.12.2013, 17:46     Передача дефолтных параметров
Ответ Создать тему
Опции темы

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