Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341290
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:43

/*设计一个类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) |
给主人留下些什么吧!~~