从其他类的对象调用方法C++
C++ call method from Object of other class
我的实际大学项目有点问题,在我们做 C 之前C++开始。问题是我想调用一个带有指针的对象的方法。该类称为 Mainwindow,它具有类 Camera 的对象指针Camera* cam;
类 Camera 具有向右、向左、向上等功能。现在我在主窗口中有一个鼠标回调,它应该调用相机转动。我尝试这样做cam->turnRight();
或cam.turnRight();
这两种方法都不起作用。主窗口中调用摄像机转动的方法都是静态的,因为回调必须是静态的。
主窗口不是单例。
您知道如何完成通话吗?
提前感谢,
克里斯卡48
在C++中,静态成员函数无法访问任何成员变量,因为没有与该静态成员函数关联的对象。有几种方法可以在相机实例中传递:
1)将指向要转到静态函数的Camera对象的指针传递给静态函数(这可能是最好的解决方案)
2)使主窗口中的相机对象指针也静态,并使用主窗口::相机调用它。这确实意味着所有 Mainwindow 对象只能有一个相机对象,并且您实际上是在创建一个全局变量。
希望这有帮助!
您尝试从静态成员函数访问非静态数据成员cam
。这行不通,也行不通,因为在静态成员函数中,编译器无法知道它应该从哪个对象的cam
使用。
由于由于回调问题需要使用静态函数,因此需要重新设计代码。如何?如果没有您问题中的实际代码,很难说。
相关文章:
- 在c++中多次调用方法
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 接收字符串并使用它来调用方法C++
- 使用 gmock c++ 在真实对象上调用方法
- 不带预处理器的调用方法/文件的文件名/行号
- JNI从Android调用C++方法
- 在 C++ 的 Switch Case 中创建对象后对对象调用方法
- 如何使用接口指针调用方法,该指针是其具体类的一部分,而不是接口的一部分
- 从内部类中的方法从包含类调用方法
- 在销毁期间从另一个线程调用对象上调用方法是否未定义行为?
- 为什么派生类的实例从基类调用方法?
- 实例化对象并调用方法,使用单行语法在 C# 或 C++ 中返回值?
- C++当您取消引用指向类对象的指针,然后将其作为引用返回时,是否可以对此引用调用方法
- 通过模板函数对未知类型调用方法
- 从基于迭代器的for循环转换后,如何在map::find()中调用方法
- 创建一个C++DLL以从C#DLL调用方法
- 如何从qt中的类中调用方法
- 如何在不迭代的情况下对数组中的每个元素调用方法
- C++11 - 获取编译时的所有类变量,并在没有 Boost 的情况下为它们调用方法
- C ++:如何在不创建对象的情况下在主函数中调用方法