508.cpp
来自「C++实训教程」· C++ 代码 · 共 46 行
CPP
46 行
//508.cpp
#include <iostream.h>
#include <math.h>
class A;
class B
{
int sum;
public:
B(){ sum=1;}
B(int a,int b){sum=a*a+b*b;}
int Larger(B b,A a);
};
class A //B must be before A, for A references the B::Larger()
{
friend int B::Larger(B b,A a);//use B::Larger()!
private:int num;
public:
A(){num=1;}
A(int a,int b){num=4*a+b;}
void Display(void){cout<<num<< endl;}
};
int B::Larger(B b,A a)
{
return (b.sum > a.num);
}
main(void)
{
int n=3 , i,j;
for(i=2;i<=n;i++)
for(j=2;j<=n;j++)
{
B objB(i,j);
A objA(i,j);
cout << "i=" << i <<" , j=" <<j<<" ";
if(objB.Larger(objB,objA))
{cout << "B obj is Larger , the small num is "; objA.Display();}
else cout << "B obj is not Larger\n";
}
return 0;
}
/*
i=2 , j=2 B obj is not Larger
i=2 , j=3 B obj is Larger , the small num is 11
i=3 , j=2 B obj is not Larger
i=3 , j=3 B obj is Larger , the small num is 15
*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?