如何在同一个类中添加两个类成员函数以及另一个函数?

时间:2019-06-01 12:21:35

标签: c++ class

我的课堂上有两个功能,我们会说:

double MyClass::FunctionOne() {
    double Number = 1.5;
    return Number;
}

double MyClass::FunctionTwo(double x, double y, double z, double w) {
    total = x+y+z+w;
    return total;
}

假定“ total”是在类标题中声明的双精度数

在main中实例化我的对象之后,如何精确地添加这两个函数的返回值?

主要,我们假设它看起来像这样:

MyClass Object();
std::cout << "Function One: " << Object.FunctionOne()
          << "Function Two: " << Object.FunctionTwo(1.1, 2.2, 3.3, 4.4);

有没有一种方法可以将这两个函数在类中的单独函数中求和?然后使用访问器或其他名称调用它?还是我必须这样做:

double CombineFunctions(double x, double y) {
    double total2 = (x + y);
    return total2;
}

std::cout << "Sum of both functions: " 
<< CombineFunctions(Object.FunctionOne(), Object.FunctionTwo(1.1, 2.2, 3.3, 4.4));

我是C ++的新手,所以我实际上不知道该怎么做。我尝试了几个小时的研究,但找不到任何东西,也没办法将它包裹住。

我尝试过的方法:最接近的是在类中声明两个变量,然后在类函数中使用它们,并尝试将其返回为:

double MyClass::SumOfReturns() {
    return total1 + total2;
}

但是我收到的电话号码是我认为的存储位置? 163423e19 之类的。

2 个答案:

答案 0 :(得分:1)

您可以将结果存储在类的成员中,也可以将结果存储在主函数中的变量中:

MyClass Object();
double res1, res2;
res1 = Object.FunctionOne();
res2 = Object.FunctionTwo(1.1, 2.2, 3.3, 4.4);
std::cout << "Function One: " << res1 << "Function Two: " << res2 << std::endl;
std::cout << "Sum of both functions: " << res1 + res2 << std::endl;

答案 1 :(得分:0)

您可以在类的标题中添加一个函数:

inline double MyClass::SumOfReturns() {
    return function1() + total;
}