相关疑难解决方法(0)

c ++中带多态的静态方法

我有一个使用多态的奇怪问题.我有一个实现静态方法的基类.由于各种原因,此方法必须是静态的.基类还有一个纯虚方法run(),由所有扩展类实现.我需要能够run()从静态类调用.

当然,问题是静态类没有this指针.此方法可以在void*参数中传递.我一直试图想出一种聪明的方法将run方法传递给它,但到目前为止还没有任何工作.我也试过把它传递给它.这个问题是我必须实例化它,这需要知道扩展类.这破坏了多态性的整个目的.

关于如何解决这个问题的任何想法?

c++ polymorphism static-methods non-static

3
推荐指数
2
解决办法
3254
查看次数

如何从具有相同虚函数的父派生时调用子函数

假设我有一个父类:

Class Parent{
public:
virtual void doSomething(){}
}
Run Code Online (Sandbox Code Playgroud)

和两个孩子:

Class Son: public Parent{
public:
  void doSomething(){
  // Do one thing
  }
}

Class Daughter: public Parent{
public:
  void doSomething(){
  // Do another thing
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我像这样设置一个子类的实例:

Parent obj = Son();
Run Code Online (Sandbox Code Playgroud)

如何正确调用doSomething()Son而不是空函数定义的方法Parent

c++ polymorphism inheritance

2
推荐指数
1
解决办法
224
查看次数