Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Enum как параметр функции, как это сделать??? 
V
    Опции темы
Rimch
Дата 17.1.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть процедура
Код

void __fastcall TForm1::Image2MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)


из другой необходимо вызвать её с определенным параметром, в Delphi можно передать как множество в квадратных скобках, а в С++ ?

Код

Image2MouseMove(Sender,  [как передать ssLeft] , X,Y);

PM MAIL ICQ   Вверх
JackYF
Дата 17.1.2008, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(Rimch @  17.1.2008,  12:49 Найти цитируемый пост)
в С++

можно сделать так:
Код

TShiftState ss;
ss << ssLeft;
Image2MouseMove(Sender, ss, X,Y);


Добавлено через 59 секунд
как таковой конструкции "множества" в С++ нет.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Rimch
Дата 17.1.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а как не создавая нового обьекта, так то я и сам знаю
PM MAIL ICQ   Вверх
Sharkfire
Дата 17.1.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Не как поидее или создавай прямо при редедаче фактических параметров. 
PM MAIL ICQ   Вверх
artsb
Дата 17.1.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Можно.
Вот:
Код

Image2MouseMove(Sender, TShiftState()<<ssLeft, X, Y);



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Lazin
Дата 17.1.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Цитата(JackYF @  17.1.2008,  13:51 Найти цитируемый пост)
как таковой конструкции "множества" в С++ нет. 

а как-же enum, разве это не множество))

Код

enum myEnum
{
  Item1 = 1,
  Item2 = 2
};

void myFunc(myEmum param)
{
  if (param == Item1)
   printf("Item1");
  else if (param == Item2)
    printf ("Item2");
}

эту ф-ю можно написать и по другому
Код

void myFunc(int param)
{
  if (param == Item1)
   printf("Item1");
  else if (param == Item2)
    printf ("Item2");
}

но в этом случае туда можно будет передать как одно из значение myEnum, так и неправильное значение
PM MAIL Skype GTalk   Вверх
JackYF
Дата 17.1.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(Lazin @  17.1.2008,  15:23 Найти цитируемый пост)
разве это не множество))

нет, enum - это не множество. Множество может содержать несколько "представителей" типа, и может не содержать ни одного.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lazin
Дата 17.1.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



а std::set разве не множество?
PM MAIL Skype GTalk   Вверх
JackYF
Дата 17.1.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(Lazin @  17.1.2008,  16:28 Найти цитируемый пост)
а std::set разве не множество? 

это класс, а не элемент языка. Множество, конечно. Только ты ему не укажешь, что у там могут находиться только элементы 4..17 - только помещая туда собственный класс, который проверяет в конструкторе и операторе присваивания, чтобы не было элементов < 4 и > 17 smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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