请问类中的私有数据成员除了利用共有成员函数使用,还能怎么使用啊?

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:53:50
比如
#include<iosream>
using namespace std;
class Fn{
private:
int a;
public:
void rp(){cout<<"input n:"<<endl;
cin>>n;
a=n;}
};
void main(){
Fn x,y;
x.rp();
y.rp();
if(x.rp()>y.rp())
cout<<"1";
else
cout<<"0";
}
我只是想知道x,y中的哪个a比较大,但这样就不行,那我该怎样调用成员函数里的私有成员呢?
调用私有成员又都有哪几种方法呢?
请达人执教,小弟现行谢过!!

私有成员只能在类内使用,就是外边不能访问。你可以:
public:
geta(){return a;}
然后if(x.geta()>y.geta()).....

#include<iostream>
using namespace std;
class Fn{
private:
int a;
public:
void rp(){
int n = 0;
cout<<"input n:"<<endl; cin>>n;a=n;
}
int Compare(Fn& f2){
if(a > f2.a) return 1;
else return 0;
}
};
void main(){
Fn x,y;
x.rp();
y.rp();
cout<<x.Compare(y);
}
也可以采用楼上的方法定义一个公有的接口来访问类中的私有成员,也可以提供接口来实现比较大小的方法,提供公有接口访问私有成员是很有必要的。