behnia_k
یک شنبه 29 بهمن 1391, 08:44 صبح
با سلام
به نظر شما اگر در يك فانكشن كلاسي بكمك شرط نحوه اجرا را مشخص كنيم از نظر سرعت اجرا بهتر است يا اينكه يك فانكشن virtual داشته باشيم با توجه با اينكه توسط كي به ارث ميرسد فانكشن خاصر را كال كند.
class cA
{
int const mod;
public:
cA(int m) : mod(m) {};
void F1()
{
if (mod)
{
//...
}
else
{
//...
}
//
//...
};
void E1()
{
E2();
//...
}
virtual void E2() { E2B(); }
virtual void E2B();
virtual void E2C();
};
class cB : public cA
{
public:
cB(int mod) : cA(mod) {};
void E2() { E2B(); };
};
class cC : public cA
{
public:
cC(int mod) : cA(mod) {};
void E2() { E2C(); };
};
من ميخواهم با توجه به اينكه مقدار ثابت mod چيست فانكشن مشخصي يا كار مشخصي انجام شود و در خود كلاس cA چگونگي انجام اين كار معلوم است (لذا شايد استفاده از توابع ويرچوال لزومي نداشته باشد). نظر شما در باره استفاده از فانكشن پوينتر چيست؟
به نظر شما اگر در يك فانكشن كلاسي بكمك شرط نحوه اجرا را مشخص كنيم از نظر سرعت اجرا بهتر است يا اينكه يك فانكشن virtual داشته باشيم با توجه با اينكه توسط كي به ارث ميرسد فانكشن خاصر را كال كند.
class cA
{
int const mod;
public:
cA(int m) : mod(m) {};
void F1()
{
if (mod)
{
//...
}
else
{
//...
}
//
//...
};
void E1()
{
E2();
//...
}
virtual void E2() { E2B(); }
virtual void E2B();
virtual void E2C();
};
class cB : public cA
{
public:
cB(int mod) : cA(mod) {};
void E2() { E2B(); };
};
class cC : public cA
{
public:
cC(int mod) : cA(mod) {};
void E2() { E2C(); };
};
من ميخواهم با توجه به اينكه مقدار ثابت mod چيست فانكشن مشخصي يا كار مشخصي انجام شود و در خود كلاس cA چگونگي انجام اين كار معلوم است (لذا شايد استفاده از توابع ويرچوال لزومي نداشته باشد). نظر شما در باره استفاده از فانكشن پوينتر چيست؟