/*设计一个类Sample,它有两个私有成员A[]和n(A中元素个数),
将对A[]中数据进行各种排序的函数放入到一个友元类process中,要求如下:
(1) 定义sample类;
(2) 定义process类;
(3) 在process类中定义成员函数getdate(Sample &s),用于获取对象s的数据;
(4) 在process类中定义成员函数bubblesort(Sample &s),用于进行冒泡排序;
(5) 在process类中定义成员函数disp(Sample &s),用于输出数据。*/
#include
using namespace std;
class sample{
int *A;int n;
public:
sample(int a) {int *A=new int[a];}
~sample() {delete []A;}
friend class process;
};
class process{
sample s;
public:
process();
process(sample b):s(b) {}
~process() {}
getdata();
bubblesort();
disp();
};
process::getdata()
{for(int k=0;k{cout<<"enter shu:";
cin>>s.A[k];}}
process::disp()
{for(int i=0;i{cout<process::bubblesort()
{int t;
for(int j=0;jif(s.A[j]>s.A[j+1]) {t=s.A[j+1];s.A[j+1]=s.A[j];s.A[j]=t;}
}
int main()
{ sample c(3);
process d(c);
d.getdata();
d.bubblesort();
d.disp();
return 0;}
--------------------next---------------------
(3) 在process类中定义成员函数getdate(Sample &s),用于获取对象s的数据;
(4) 在process类中定义成员函数bubblesort(Sample &s),用于进行冒泡排序;
(5) 在process类中定义成员函数disp(Sample &s),用于输出数据。*/
process都是Sample一个友元类了,对于Sample都可以直接访问了,还用得着来传递一个对象给函数吗?
可能改得不是很好,请多多指教!
#include
using namespace std ;
class sample {
int* A;
int n;
public:
sample(){
n=0;
}
sample(int a){
n=a;
if(n>0)
A=new int[n];
}
~sample(){}
friend class process ;
};
class process {
sample s;
public:
process(){}
~process(){}
process(sample &b){
s=b;
}
void getdata();
void bubblesort();
void disp();
};
void process::getdata(){
for(int k=0;k cout<<"enter shu:" ;
cin>>s.A[k];
}
}
void process::disp(){
for(int i=0;i cout< }
}
void process::bubblesort(){
int t ;
for(int j=0;j for(int i=s.n-1;i>j;i--){
if(s.A[i] t=s.A[i-1];
s.A[i-1]=s.A[i];
s.A[i]=t;
}
}
}
}
int main(void){
sample c(3);
process d(c);
d.getdata();
d.bubblesort();
d.disp();
return 0 ;
}
--------------------next---------------------
阅读(1112) | 评论(0) | 转发(0) |