Как добавить f1, f2 и f3 (три вывода функций дерева void) в основную функцию?

#c

#c

Вопрос:

 #include <iostream>
#include<cmath>



using namespace std;

    class solution
    {
    float x;

    public:
        void quad_f();
        void cube_f();
        void bi_quad_f();

    };

    void solution::quad_f()
    {
                float f1;
                cout << "Enter the value of x:" << endl;
                cin >> x;
                f1 = 4*pow(x,2)   3*x   1;
                cout << f1 << endl;

    }

    void solution::cube_f()

    {
                cout << "Enter the value of x:" << endl;
                cin >> x;
                float f2 = pow(x,3)   1;
                cout << f2 << endl;

    }

    void solution::bi_quad_f()

    {
                cout << "Enter the value of x:" << endl;
                cin >> x;
                float f3 = pow(x,4);
                cout << f3 << endl;
    }

    int main()
    {
       solution collector;

       collector.quad_f();
       collector.cube_f();
       collector.bi_quad_f();



        return 0;
    }
  

Я объявил три функции в классе и определил их одну за другой
чтобы получить окончательный вывод. теперь я могу вывести каждый вывод отдельно.
Но я хочу добавить f1, f2 и f3 из трех функций, приведенных ниже
основные функции для получения единого вывода.

Ответ №1:

Одним из способов было бы вернуть f1, f2 and f3 из ваших функций-членов. Затем вы можете сложить их вместе и распечатать в main .

 #include <iostream>
#include<cmath>

using namespace std;

class solution
{
    float x;

public:
    float quad_f();
    float cube_f();
    float bi_quad_f();
};

float solution::quad_f()
{
    float f1;
    cout << "Enter the value of x:" << endl;
    cin >> x;
    f1 = 4*pow(x,2)   3*x   1;
    cout << f1 << endl;
    return f1;
}

float solution::cube_f()
{
    cout << "Enter the value of x:" << endl;
    cin >> x;
    float f2 = pow(x,3)   1;
    cout << f2 << endl;
    return f2;
}

float solution::bi_quad_f()
{
    cout << "Enter the value of x:" << endl;
    cin >> x;
    float f3 = pow(x,4);
    cout << f3 << endl;
    return f3;
}

int main()
{
   solution collector;

   float result = collector.quad_f();
   result  = collector.cube_f();
   result  = collector.bi_quad_f();

   cout << "Totalt result is: " << result << endl;

   return 0;
}
  

Обратите внимание, что сейчас x на самом деле не используется каким-либо значимым образом. Вы могли бы вводить напрямую в f1, f2 and f3 и получать те же результаты.

Конечно, есть другие способы подойти к этому. Вы могли бы добавить результат функций в x и иметь отдельную функцию-член, которая будет выводить текущее значение x . Хотя не совсем ясно, что именно вы ищете.

Комментарии:

1. Вы должны изменить возвращаемый тип всех этих функций на float в определении функции.

2. Действительно, исправлено. Спасибо.

3. действительно отличная помощь!