C++ C++;-调用基类';从基类内部重写的虚方法';操作人员
我有一个基类,我称之为C++ C++;-调用基类';从基类内部重写的虚方法';操作人员,c++,inheritance,polymorphism,C++,Inheritance,Polymorphism,我有一个基类,我称之为base,还有一个派生类derivedBase类有一个名为readInData(istream)的方法,该方法是从定义的操作符>函数内部调用的派生的有自己对readInData(istream)的定义,但还没有自己对运算符的定义(从基继承定义) 我的问题是,如果Derived,使用base中定义的运算符调用两个类中定义的方法,那么调用的是base::readInData(istream)还是Derived::readInData(istream) 我希望调用Derived:
base
,还有一个派生类derived
Base
类有一个名为readInData(istream)
的方法,该方法是从定义的操作符>
函数内部调用的<代码>派生的有自己对readInData(istream)的定义,但还没有自己对运算符的定义(从基
继承定义)
我的问题是,如果Derived
,使用base中定义的运算符调用两个类中定义的方法,那么调用的是base::readInData(istream)
还是Derived::readInData(istream)
我希望调用Derived::readInData(istream)
,因此我是否还需要重新定义运算符来执行此操作
谢谢,
标记因为您的问题说明函数是虚拟的,所以它将被调用。因为您的问题说明函数是虚拟的,所以它将被调用。
类A
class A
{
public:
void print()
{
std::cout << saySomething() << std::endl;
}
virtual std::string saySomething()
{
return "hey!";
}
};
class B : public A
{
public:
virtual std::string saySomething()
{
return "I am B!";
}
};
int _tmain(int argc, _TCHAR* argv[])
{
system("pause");
B b;
b.print();
system("pause");
}
{
公众:
作废打印()
{
std::coutA类
{
公众:
作废打印()
{
好消息。谢谢。好消息。谢谢。