C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
147 个问题
include <stdio.h>
include<iostream>
using namespace std;
class Array{
public :
int N;
Array()
{
cout << "Enter Size Of array: " << endl;
cin >> N;
}
};
template<class T>
class Recursion : public Array
{
int *A = new int [N];
public:
int findsum(int *A);
};
template<class T>
int Recursion<T>::findSum(int *A) //Returning sum of element using recursion
{
cout<<"\nenter Array\n";
for(int i=0;i<n;i++)
cin>>A[i];
if (N <= 0)
return 0;
return (findSum(A, N - 1) + A[N - 1]);
}
int main() //Driver code
{ Recursion<int> l;
cout<<l.findsum(A,N);
return 0;
}
在你的代码中,我发现了一些问题,建议你复习一下构造函数和调用函数的相关知识,我修改了你的代码供大家参考和学习,请仔细比较。
#include <stdio.h>
#include<iostream>
using namespace std;
class Array {
public:
int N;
Array()
{
cout << "Enter Size Of array: " << endl;
cin >> N;
}
};
template<class T>
class Recursion : public Array
{
public:
int* A = new int[N];
int findsum(int* A,int N);
Recursion()
{
cout << "\nenter Array\n";
for (int i = 0; i < N; i++)
cin >> A[i];
}
};
template<class T>
int Recursion<T>::findsum(int* A,int N) //Returning sum of element using recursion
{
if (N <= 0)
return 0;
return (findsum(A, N - 1) + A[N - 1]);
}
int main() //Driver code
{
Recursion<int> l;
cout << l.findsum(l.A,l.N);
return 0;
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。