我正在尝试在 C++Builder 中创建一个简单的表单,并且正在尝试在一个类中创建一个 adding()
方法,但是如果可以的话,我不会想创建一个对象只是为了使用不保存任何值的方法。
这是类文件的来源:
class Op{
public:
double adding(double x, double y);
};
double Op::adding(double x, double y){
return x + y;
}
这是调用按钮的操作:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double value1 = text1->Text.ToDouble();
double value2 = text2->Text.ToDouble();
double result = Op.adding(value1, value2);
}
但是我得到一个编译错误:
improper use of typedef 'Op'
如果我必须创建像Op operations;
这样的对象,请告诉我怎么做。
最佳答案
对于你正在尝试的,将 adding()
声明为 static
:
class Op{
public:
static double adding(double x, double y);
};
然后你可以这样调用它:
double result = Op::adding(value1, value2);
如果不声明为static
,确实需要先创建一个对象,eg:
Op operation;
double result = operation.adding(value1, value2);
或者:
double result = Op().adding(value1, value2);
或者,如果使用 C++Builder 的 Clang-based compilers 之一:
double result = Op{}.adding(value1, value2);
关于c++ - 我必须创建一个对象才能在 C++ 中使用类方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48939147/