Совмещение вызова конструктора с вызовом метода
От: misha_sk Россия  
Дата: 04.11.03 12:58
Оценка:
Привет всем, вот показалась удобным в одном месте совмещать конструирование объекта (инкапсулирующего логику одного алгоритма, для поддержки которого необходимы структуры данных) — создаются поддерживающие структуры данных, и вызов непосредственно сервисного метода. Возможно ли это скомпоновать в один вызов.

Раньше вроде где-то видел, но сейчас не могу найти примеры синтаксиса.
Может кто-нибудь знает.

Заранее спасибо.
Re: Совмещение вызова конструктора с вызовом метода
От: Resnick Россия  
Дата: 04.11.03 13:13
Оценка:
Здравствуйте, misha_sk, Вы писали:

_>Привет всем, вот показалась удобным в одном месте совмещать конструирование объекта (инкапсулирующего логику одного алгоритма, для поддержки которого необходимы структуры данных) — создаются поддерживающие структуры данных, и вызов непосредственно сервисного метода. Возможно ли это скомпоновать в один вызов.


_>Раньше вроде где-то видел, но сейчас не могу найти примеры синтаксиса.

_>Может кто-нибудь знает.

_>Заранее спасибо.


А чем плох вызов конструктора?

MyParams params;
...
MyAlgo doit(params);
Re: Совмещение вызова конструктора с вызовом метода
От: Аноним  
Дата: 04.11.03 13:16
Оценка:
Здравствуйте, misha_sk, Вы писали:

_>Привет всем, вот показалась удобным в одном месте совмещать конструирование объекта (инкапсулирующего логику одного алгоритма, для поддержки которого необходимы структуры данных) — создаются поддерживающие структуры данных, и вызов непосредственно сервисного метода. Возможно ли это скомпоновать в один вызов.


_>Раньше вроде где-то видел, но сейчас не могу найти примеры синтаксиса.

_>Может кто-нибудь знает.

Можно, если объект временный.
struct foo
{
    void bar() {}
};

int main()
{
    foo().bar();
}
Re: Совмещение вызова конструктора с вызовом метода
От: rock  
Дата: 04.11.03 13:17
Оценка:
class CSomeMechanism {
public:
CSomeMechanism( const CSomeData& );

void Process();
};

пример использования:

CSomeData data;
CSomeMechanism( data ).Process();

Или что-то другое имелось ввиду?
Re[2]: Совмещение вызова конструктора с вызовом метода
От: misha_sk Россия  
Дата: 04.11.03 13:26
Оценка:
Здравствуйте, rock, Вы писали:

R>class CSomeMechanism {

R>public:
R>CSomeMechanism( const CSomeData& );

R>void Process();

R>};

R>пример использования:


R>CSomeData data;

R>CSomeMechanism( data ).Process();

R>Или что-то другое имелось ввиду?


Спасибо, это то что нужно.
Re: Совмещение вызова конструктора с вызовом метода
От: Павел Кузнецов  
Дата: 04.11.03 13:27
Оценка:
Здравствуйте, misha_sk, Вы писали:

ms> Привет всем, вот показалась удобным в одном месте совмещать

ms> конструирование объекта <...> и вызов непосредственно сервисного
ms> метода. Возможно ли это скомпоновать в один вызов.

Object(args).method(method_args);


?
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: Совмещение вызова конструктора с вызовом метода
От: Libra Россия  
Дата: 04.11.03 14:37
Оценка:
Здравствуйте, misha_sk, Вы писали:

_>Skip...


Можно еще так попробовать

class Method
{
   private :
             int result;
   public  :
             Method(int arg1, double arg2)
              {
                 //some operation
                 //result = ?????
              }
             operator int()
              {
                 return result;
              }
};

int main(int argc, int *argv[])
{
   int arg1;
   int arg2;
   int i = Method(arg1, arg2);
   return 0;
}


думаю что идея понятна...
удачи
Species come and go, but the earth stands forever fast...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.