C++ 子类的虚函数和非虚函数之间的差异
让我的C++ 子类的虚函数和非虚函数之间的差异,c++,overriding,C++,Overriding,让我的家长上课 class parent { virtual void printx () { cout<< "parent" ; } } 类父{ 虚拟void printx(){cout两者都是相同的。如果一个函数在基类中声明为虚拟的,那么它在所有派生类中都将是虚拟的,无论您是否明确提及它。如果函数签名相同,则不需要子类将虚拟的添加到方法中,编译器将为此负责如果函数在父类中声明为虚拟,则子类的重写方法也是虚拟的。 如果C++ 11可用,请考虑在子类中添加重写方法;
家长
上课
class parent {
virtual void printx () { cout<< "parent" ; }
}
类父{
虚拟void printx(){cout两者都是相同的。如果一个函数在基类中声明为虚拟的,那么它在所有派生类中都将是虚拟的,无论您是否明确提及它。如果函数签名相同,则不需要子类将虚拟的添加到方法中,编译器将为此负责如果函数在父类中声明为虚拟,则子类的重写方法也是虚拟的。
如果C++ 11可用,请考虑在子类中添加重写方法;
class child : public parent {
void printx() override { cout<< " child" ; }
}
类子级:公共父级{
void printx()重写{cout+1重要的是…这将提请注意printx
和pritnx
不同的事实。。。。
class child : public parent {
void printx() { cout<< " child" ; }
}
class child : public parent {
void printx() override { cout<< " child" ; }
}