ایجاد یک نمونه موقت از کلاس در عبارت - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ایجاد یک نمونه موقت از کلاس در عبارت

+1 امتیاز

سلام.

کد زیر را ببینید اینجا یک کپی از کلاس ایجاد می کنم و سپس متدی را فراخوانی می کنم و سپس نمونه جدید را به تابع نهایی پاس میدم حالا دنبال راهی هستم که تو یک خط اینکار را انجام بدم.

class AA{
public :
	AA(int b):b_(b){}
	int b_;
};
class A{
public:
	A(float value):value_(value){}
	void scale(const float &scale){
		value_ *= scale;
	}
	float value_;
};

void test2(A a){
}
int main()
{
    A a(20);
	A b = a;
	b.scale(1.5);
	test2(b);
}

 

سوال شده اسفند 15, 1392  بوسیله ی 13mody (امتیاز 256)   8 36 54
دوباره تگ گذاری شد اسفند 24, 1392 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

میتونی از Lambda ها که تو C++11 معرفی شدن استفاده کنی .

#include <iostream>

using namespace std;


class AA{
public :
    AA(int b):b_(b){}
    int b_;
};

class A{
public:
    A(float value):value_(value){}
    void scale(const float &scale){
        value_ *= scale;
    }
    float value_;
};
 
void test2(A a){
}

int main()
{
    test2( [] (void) mutable -> A { A a(20);A b = a;b.scale(1.5);return b;} () );
}

 

پاسخ داده شده اسفند 17, 1392 بوسیله ی Ali Rahbar (امتیاز 4,240)   6 16 46
انتخاب شد اسفند 24, 1392 بوسیله ی BlueBlade
نقش کلمه mutable در ++C
...