C++递归调用成员函数

来源:百度知道 编辑:UC知道 时间:2024/07/04 19:16:55
递归调用被继承的基类成员函数,实现求素数的功能/以及实现最大公约数的算法

要求最大公约数就要先求出最小公倍数的

#include<iostream>
#include<cmath>
using namespace std;
class A
{
private:
int i;
int j;
public:
A()
{}
A(int i1,int j1):i(i1),j(j1)
{
}
int G_C_D(int i1,int j1);
};
class Derived:public A
{
public:
Derived(int i1=0,int j1=0):A(i1,j1)
{ }
};
int A::G_C_D(int i1,int j1)
{
int c;
if(i1==0||j1==0) abort();
if(i1>j1)
{
c=i1%j1;
if(c!=0) return G_C_D(j1,c);
else return j1;
}
else
{
c=j1%i1;
if(c!=0) return G_C_D(i1,c);
else return i1;
}
}
int main()
{
Derived x(12,30);
cout<<x.G_C_D(12,30)<<endl;
Derived xx(30,12);
cout<<xx.G_C_D(30,12)<<