关于C++中与结构组合的函数的输出和使用的问题



我们的任务是通过将三个单独的函数与一个结构相结合来创建horner规则。结构如下:

struct Polynomial
{
long n;
double* a;
};

接下来,我创建了一个函数,它应该包含多项式次数和系数:

Polynomial createPoly()
{
Polynomial poly;
std::cout << "Enter polynomial degree: ";
std::cin >> poly.n;
poly.a = new double[poly.n];
for (int i = 0; i < poly.n; i++)
{
std::cout << "The polynomial coeff x ^ " << i <<" = " << std::endl;
std::cin >> poly.a[i];
}
return poly;
}

注意,除了在cin>gt;poly.n;是强制性的。我现在的问题是,我的createPoly函数到底是什么?它之前有结构定义,不接受任何值作为函数输入。如何在其他函数中使用poly.n和poly.a?

例如,我现在必须创建一个函数,通过horners规则计算多项式,但我不知道如何将其与我的createPoly函数相结合。

double calcPoly(double x, const Polynom* poly); //calc poly defintion

提前谢谢。

您的函数createPoly返回一个Polynomial对象,因此您可以编写以下内容:

Polynomial p = createPoly();
double result = calcPoly(1.56, &p);

基本上,createPoly函数返回一个对象,然后您可以将该对象设置为变量,并在其他函数(如calcPoly或任何其他函数(中使用。

最新更新