我有一些代码,这似乎similair这样:
#include <iostream>
class Base {
public:
void test() {
std::cout << "Base::test()" << std::endl;
}
void test2() {
test();
}
};
class Derived : public Base {
public:
void test() {
std::cout << "Derived::test()" << std::endl;
}
};
int main() {
Derived d;
d.test2();
return 0;
}
现在,这个输出ofcourse Base::test()
但我希望它输出Derived::test()
不利用虚拟函数调用并使用调用的函数重载一个不同的符号: Derived::test
。
是否有人知道这是可能实现的?