استفاده از cast در وراثت C++ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

استفاده از cast در وراثت C++

0 امتیاز
سلام.

برای تبدیل کلاس parent به child از چه cast ی استفاده کنم؟
سوال شده مهر 3, 1394  بوسیله ی korosh (امتیاز 155)   11 32 37

1 پاسخ

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

به این عمل DownCasting گفته میشه.

 برای اینکار می بایستی operator= را در کلاس فرزند برای نوع والد تعریف کنید.به صورت زیر:

class Parent {
public:
	Parent() :
		value1_(100) {

	}
	int value1_;
};

class Child : public Parent {
public:
	Child() :
		Parent(),
		value2_(200) {

		value1_ = 50;
	}
	Child& operator=(Parent rhs) {
		if (&rhs == this)
			return *this;

		value1_ = rhs.value1_;
		return *this;
	}
	int value2_;

};



int main()
{
	
	Parent* b = new Parent();
	Child* c = new Child();

	*c = *b;
	


    return 0;
}

 

پاسخ داده شده اردیبهشت 18, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اردیبهشت 26, 1396 بوسیله ی korosh
...