c++ - 我怎样才能调用另一个类的方法?

标签 c++ object

我有 3 个文件 pos.h pos.cpp 和 main.cpp ....我试图从主类中的 pos.cpp 调用一个函数,例如:

pos.h文件

class pos {
   public:
   pos(); //defualut constructor 
int open_port();
}

pos.cpp

#include "pos.h"
int Open_port()    {
//do stuff here
    return 0;
    }

类main.cpp

#include "pos.h"
int main(int argc , char** argv) {
pos pos1;
pos1::Open_port();
}

问题是我总是发现 pos1 不是我正在编译的类或 namespace ,如下所示 g++ mainpos.cpp pos.cpp pos.h -o position -lpthread 有什么想法吗?

最佳答案

您的代码似乎有几个问题:

int open_port();

pos的成员函数。但是,当您定义它时,您没有使用 :: 运算符并且函数名称已更改。

尝试:

 int pos::open_port()
 {      ///^^pay attention to typos
     //do stuff here
     return 0;
 }

然后在 main 中。你可以这样做:

 pos pos1;
 pos1.open_port();

如果您真的是指 Open_port(),它不是该类的成员,那么您需要将函数声明添加到正确的头文件中并正确使用它,但这是一个单独的问题。

关于c++ - 我怎样才能调用另一个类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177411/

相关文章:

c++ - 用c++写一个对数函数

c++ - 更新窗口的标志

c++ - boost::future - wait_callback 是否保证只被调用一次?

c++ - 是每个实例还是每个类的局部静态变量?

c++ - Qt 最小部署

java - Lambda表达式匿名对象生命周期

javascript - 不寻常的 javascript 对象表示法

javascript - 如何使用多个键按对象的值对对象进行排序?

java - 删除一个对象并在 TreeSet 中添加另一个对象

javascript - 对对象数组中的两个值求和,然后插入到另一个对象数组中