在哪里可以找到C+;中递归的一些简单代码示例+;? 我完全是C++的新手。我正在做一个练习,包括构建一个非常简单的C++程序。p>

在哪里可以找到C+;中递归的一些简单代码示例+;? 我完全是C++的新手。我正在做一个练习,包括构建一个非常简单的C++程序。p>,c++,methods,recursion,C++,Methods,Recursion,我的老师强调它必须对函数和方法使用递归。我想知道如何在C++中使用递归方法。我在寻找一些代码示例,但什么都没有找到。我最关心的是一个方法如何在不知道其类/实例名称的情况下调用自己。class Foo class Foo { public: Foo(int offset) : offset(offset) {} int bar(int x) { if (x == 0) { return offset; // Bas

我的老师强调它必须对函数和方法使用递归。我想知道如何在C++中使用递归方法。我在寻找一些代码示例,但什么都没有找到。我最关心的是一个方法如何在不知道其类/实例名称的情况下调用自己。

class Foo
class Foo
{
public:
    Foo(int offset) : offset(offset) {}

    int bar(int x)
    {
        if (x == 0)
        {
            return offset;  // Base-case
        }
        return x + bar(x-1);  // Recursion
    }

private:
    int offset;
};


int main()
{
    Foo foo(7);
    std::cout << foo.bar(5) << "\n";  Prints "22" (5+4+3+2+1+7)
}
{ 公众: Foo(int offset):offset(offset){} 整型条(整型x) { 如果(x==0) { 返回偏移量;//基本大小写 } 返回x+bar(x-1);//递归 } 私人: 整数偏移量; }; int main() { 富富(7),; 标准::cout

我猜你的家庭作业是写一个。C语言中的一个简单示例: 举个例子:

#include <iostream>
  using namespace std;

  int factorial(int n)    // 1, 1, 2, 6, 24, 120, 720, ...  
  {
    if (n == 0) return 1;
    return n * factorial(n-1);
  }

  main()
  {
    int n = 7;

    cout << "Enter a non-negative integer: ";
    cin >> n;
    cout << "The Factorial of " << n << " is " << factorial(n) << endl;  

    return 0;
  }
#包括
使用名称空间std;
整数阶乘(intn)//1,1,2,6,24,120,720。。。
{
如果(n==0)返回1;
返回n*阶乘(n-1);
}
main()
{
int n=7;
cout>n;

你试过问你喜欢的搜索引擎是否有“C++递归”?“我正在做一个实践,它包括建立一个非常简单的C++编译器”。-这是一个笑话吗?如果您将成员函数实现为带有附加实例指针的自由函数,那么递归只会将当前实例的
这个
指针传递给下一个调用…您到底在想什么?我还必须想一想“我在X中是一个完全的新手”和“我想做X的最难的事情。”我在这里找到了很多递归的例子,但是用方法做的任何事情,都只是用函数。这不是笑话。它很简单,因为它没有使用堆。我是C++中的新手,但是老师给我们一个当前C++语言的子集(例如没有STL)。.但对于这类问题,规范并不明确。多谢大家。多谢。这正是我要找的。它是一个LL(1)编译器。他们甚至给了我们进行解析的算法。问题更改为不再是关于编译的