C++ 如何在C++;?

C++ 如何在C++;?,c++,oop,inheritance,C++,Oop,Inheritance,我使用的是核心OOP模型。 我遇到了一些问题 使用“this”关键字。下面是我试图实现的示例代码 class equation { // some properties }; class equationSolver{ public: static void method1(equation eq, double dt); } class simpleMotion : public equation{}; class DragProjectile : public simpleMoti

我使用的是核心OOP模型。 我遇到了一些问题

使用“this”关键字。下面是我试图实现的示例代码

class equation {
// some properties
};
class equationSolver{
 public:
    static void method1(equation eq, double dt);
}
class simpleMotion : public equation{};
class DragProjectile : public simpleMotion{
void updateVariables(double time){
    equationSolver::method1(this, time); // I am getting error cannot convert 
    // "DragProjectile" to "equation"
}

如果你能帮忙的话,我真的很高兴。提前感谢

您需要传递
*此
,因为您的方法按值获取
方程。顺便说一句,您可能希望更改
method1()
,通过引用像
equation&eq
const-equation&
来获取
方程,以避免复制并保留您可能拥有的任何虚拟方法的行为(阅读“切片”)。

method1
不是静态的。这应该是如何工作的?当您按值传递对象参数时,无法获得多态性。通过引用传递或传递对象的地址。请粘贴来自编译器的确切文字错误消息。很抱歉,它是静态的,我刚刚错过了它。您第一次问这个问题时,它已经得到了回答。您可以添加
这个
是常量指针