我正在通过自我指导的方式追求对C ++编程的一些兴趣。我现在正在研究一些基本的东西,目前在让我的课堂说话/实例化时遇到问题?
我正在尝试让我的主 cpp 文件与标头一起编译,并使用更有效的命令方法通过 main 调用一些类函数。
我被困住了,希望得到一些帮助。我将包括这两个文件。我只是想通过调用函数从标头中获取返回值。
错误:main.cpp:6.21 错误:无法在没有对象的情况下调用成员函数 'void myClass::setNumber(int(
代码在使用 main 编译时有效,因此我认为它是"范围解析运算符"的东西。首先是主要.cpp
#include <iostream>
#include "myClass.h"
using namespace std;
int main(){
myClass::setNumber(6);
{
return number;
}
}
然后我的头文件 myClass.h
// MyClass.h
#ifndef MYCLASS_H
#define MYCLASS_H
class myClass {
private:
int number;//declares the int 'number'
float numberFloat;//declares the float 'numberFloat
public:
void setNumber(int x) {
number = x;//wraps the argument "x" as "number"
}
void setNumberFloat(float x) {
numberFloat = x;
}
int getNumber() {//defines the function within the class.
number += 500;
return number;
}
float getNumberFloat() {//defines the function
numberFloat *= 1.07;
return numberFloat;
}
};
#endif
有什么帮助吗?
错误消息说明了一切:
cannot call member function 'void myClass::setNumber(int)' without object
您需要先创建一个对象:
myClass obj;
然后在该对象上调用类方法:
obj.setNumber(6);
值6
将分配给obj
变量的number
字段。