История изменений
Исправление m0rph, (текущая версия) :
Недочитал твое сообщение. Вообще можно конечно сделать что-то похожее, только это какое-то непонятно зачем нужное извращение:
#include <iostream>
class Bar {
public:
Bar(int value) :
value_(value)
{
}
int f() const
{
return value_;
}
private:
int value_;
};
class Foo {
public:
Foo(int value)
{
}
Bar operator()(int value) const
{
return Bar(value);
}
};
int main()
{
Bar bar = Foo(30)(20);
std::cout << bar.f() << std::endl;
return 0;
}
Исходная версия m0rph, :
Недочитал твое сообщение. Вообще можно конечно сделать что-то похожее, только это какое-то непонятно зачем нужное извращение:
#include <iostream>[br][br]class Bar {[br]public:[br] Bar(int value) :[br] value_(value)[br] {[br] }[br][br] int f() const[br] {[br] return value_;[br] }[br][br]private:[br] int value_;[br]};[br][br]class Foo {[br]public:[br] Foo(int value)[br] {[br] }[br][br] Bar operator()(int value) const[br] {[br] return Bar(value);[br] }[br]};[br][br]int main()[br]{[br] Bar bar = Foo(30)(20);[br] std::cout << bar.f() << std::endl;[br] return 0;[br]}[br]