C++ 我可以把虚函数中的这个指针当作派生类的指针吗
由于这是Base*类型,我可以将其视为派生*并调用/更改派生类特定成员吗 由于这是Base*类型,我可以将其视为派生*并调用/更改派生类特定成员吗 它不是一个基础*。您在派生::show的范围内。在此范围内,其静态类型只能是派生的*。覆盖Base::show与否并不影响这一点 因此,在派生::show中访问派生的任何成员都是完全合法的。这就是重写类应该如何通过使用其特定于类的成员自定义行为C++ 我可以把虚函数中的这个指针当作派生类的指针吗,c++,C++,由于这是Base*类型,我可以将其视为派生*并调用/更改派生类特定成员吗 由于这是Base*类型,我可以将其视为派生*并调用/更改派生类特定成员吗 它不是一个基础*。您在派生::show的范围内。在此范围内,其静态类型只能是派生的*。覆盖Base::show与否并不影响这一点 因此,在派生::show中访问派生的任何成员都是完全合法的。这就是重写类应该如何通过使用其特定于类的成员自定义行为 class Base{ public: virtual void show(){ cou
class Base{
public:
virtual void show(){
cout<<" In Base \n";
}
};
class Derived: public Base
{
int x;
public:
void show() {
this->x = 10;
this->printX();
}
void printX(){
cout<<x;
}
};
int main(void)
{
Base *bp = new Derived;
bp->show(); // RUN-TIME POLYMORPHISM
return 0;
}
this->x = 10;
this->printX();