Mutually recursive classes(相互递归的类)
                            本文介绍了相互递归的类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
如何在 C++ 中实现相互递归的类?类似的东西:
How do I implement mutually recursive classes in C++? Something like:
/*
 * Recursion.h
 *
 */
#ifndef RECURSION_H_
#define RECURSION_H_
class Class1
{
  Class2* Class2_ptr;
public:
  void Class1_method()
  {
      //...
      (*Class2_ptr).Class2_method();
      //...
  }
};
class Class2
{
    Class1* Class1_ptr;
public:
    void Class2_method()
    {
        //...
        (*Class1_ptr).Class1_method();
        //...
    };
};
#endif /* RECURSION_H_ */
推荐答案
- 前向声明类(你可以只前向声明其中一个,但为了更好的形式,两者都做).
 - 前向声明方法(同上).
 
- Forward-declare the classes (you could get away with forward-declaring only one of them, but for good form do both).
 - Forward-declare the methods (ditto).
 
class Class1;
class Class2;
class Class1
{
  Class2* Class2_ptr;
public:
  void Class1_method();
};
class Class2
{
  Class1* Class1_ptr;
public:
  void Class2_method();
};
void Class1::Class1_method()
{
  //...
  (*Class2_ptr).Class2_method();
  //...
}
void Class2::Class2_method()
{
  //...
  (*Class1_ptr).Class1_method();
  //...
}
                        这篇关于相互递归的类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:相互递归的类
				
        
 
            
        基础教程推荐
             猜你喜欢
        
	     - 如何将 std::pair 的排序 std::list 转换为 std::map 2022-01-01
 - 静态库、静态链接动态库和动态链接动态库的 .lib 文件里面是什么? 2021-01-01
 - 如何在 C++ 中初始化静态常量成员? 2022-01-01
 - 如何通过C程序打开命令提示符Cmd 2022-12-09
 - 在 C++ 中计算滚动/移动平均值 2021-01-01
 - 我有静态或动态 boost 库吗? 2021-01-01
 - C++结构和函数声明。为什么它不能编译? 2022-11-07
 - 这个宏可以转换成函数吗? 2022-01-01
 - 常量变量在标题中不起作用 2021-01-01
 - 如何检查GTK+3.0中的小部件类型? 2022-11-30
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				