صدا زدن تابعی از کلاس فرزند درون کلاس پدر
با سلام
چطور می توان یک تابع از کلاس فرزند را درون کلاس پدر صدا زد؟ مثلا کلاس D فرزند کلاس A است. و تابع C درون کلاس D تعریف شده،و تابع B تو کلاس A تعریف شده. میخاهیم تو تابع B از کلاس Aتابع C را فراخوانی کنیم. چجوری این کار رو کنیم؟؟؟؟؟؟؟؟؟؟؟
class A
{
B()
{
c()
}
}
class D:public A
{
c(){}
}
}
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
به وسیله اشاره گر میتونید این کار رو انجام بدید
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
تابع رو به صورت virtual تعریف کنید و در کلاس فرزند بازنویسیش کنید.
http://cpp.sh/9yvh
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
نقل قول:
نوشته شده توسط
negative60
به وسیله اشاره گر میتونید این کار رو انجام بدید
با توجه به مثال ارائه شده چجوری این کار رو بکنم؟؟؟؟؟؟؟
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
نقل قول:
نوشته شده توسط
حامد مصافی
من میخام تابع B از کلاس پدر اجرا بشه و در انتهای آن تابع C از کلاس فرزند نیز اجرا بشه. فک کنم با virtual نمیشه, اگه میشه کدش چجوریه؟؟؟؟؟؟؟؟
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
class Child;
class Father
{
Child *pChild;
public:
Father(Child *p);
void FatherAnswer();
};
class Child: public Father
{
public:
Child();
void Say(const char *text);
};
Father::Father(Child *p)
{
pChild = p;
}
void Father::FatherAnswer()
{
pChild->Say("salam farzandam :)");
}
Child::Child(): Father(this)
{
//child say:
Say("salam pedar");
//father say:
FatherAnswer();
}
void Child::Say(const char *text)
{
printf("%s\n", text);
}
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
کدی که نوشتید رو استفاده کردم، درست جواب داد. ممنون:لبخندساده:
نقل قول: صدا زدن تابعی از کلاس فرزند درون کلاس پدر
نقل قول:
نوشته شده توسط
arbab333
من میخام تابع B از کلاس پدر اجرا بشه و در انتهای آن تابع C از کلاس فرزند نیز اجرا بشه. فک کنم با virtual نمیشه, اگه میشه کدش چجوریه؟؟؟؟؟؟؟؟
لینک کد رو گذاشتم. همونجا هم میتونید اجراش کنید