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

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

Войти
Регистрация
Восстановить пароль
 
kzru_hunter
1090 / 765 / 58
Регистрация: 01.02.2011
Сообщений: 1,779
Записей в блоге: 1
#1

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

20.12.2013, 16:01. Просмотров 280. Ответов 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;
};
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача дефолтных параметров (C++):

Передача параметров - C++
Добрый день! Столкнулся со следующей ситуацией. При передаче 2-х мерного статического массива по указателю, в ф-ции, принимающей...

Передача параметров (функция) - C++
Помогите,пожалуйста написать (ДОПИСАТЬ) программу на C++. Создать функцию, которая принимает на вход дат рождения и текущую дату...

Передача параметров в функцию - C++
Можно ли сделать так, чтобы при совпадении переменных в функцие и основной программе, значения изменялись и в основной программе? И еще,...

Передача параметров по ссылке - C++
У кого есть рабочий вариант сего чуда ? (К примеру,функции квадратного корня).В учебнике не работает.

Передача параметров функции - C++
доброго времени суток:) есть программа реализующая метод градиентного спуска. но да это неважно есть функция Norm. значение этой...

Передача параметров в программу - C++
Здравствуйте. Пишу небольшой мп3-плеер (на борланде), столкнулся с такой проблемой: при попытке открыть несколько файлов с помощью моей...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
20.12.2013, 16:08 #2
определить default чтоб он был виден обоим классам и использовать его, но ясно понятно что оно будет всегда одно
1
kzru_hunter
1090 / 765 / 58
Регистрация: 01.02.2011
Сообщений: 1,779
Записей в блоге: 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;
        };
}
0
Arigato
Программист
281 / 178 / 95
Регистрация: 05.12.2013
Сообщений: 674
Записей в блоге: 5
20.12.2013, 16:40 #4
А константами их нельзя заделать?
C++
1
2
#define G_PARAM1 100
#define G_PARAM2 150
0
kzru_hunter
1090 / 765 / 58
Регистрация: 01.02.2011
Сообщений: 1,779
Записей в блоге: 1
20.12.2013, 17:05  [ТС] #5
Цитата Сообщение от Arigato_RU Посмотреть сообщение
#define G_PARAM1 100
#define G_PARAM2 150
Ненадежно, решил все же остановиться с использованием namespace
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.12.2013, 17:46 #6
kzru_hunter, все равно константами объяви
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 17:46
Привет! Вот еще темы с ответами:

Передача параметров функции - C++
Добрый день! Помогите, пожалуйста с передачей параметров по функциям. Как использовать функцию check2 в функции...

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

Передача параметров по ссылке - C++
Стоит ли передавать все параметры (кроме скалярных и указателей) по сслыке? Т.е. вместо void doSomething(const int _count, const...

Инкремент и передача параметров - C++
Недавно наткнулся на человека, который утверждал что: int add(int x, y) { return x+y; } int func() { int i = 1; return...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.12.2013, 17:46
Ответ Создать тему
Опции темы

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