| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 678 人关注过本帖
标题:分析输出结果
取消只看楼主 加入收藏
realll
Rank: 1
等 级:新手上路
帖 子:55
专家分:4
注 册:2009-7-23
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:2 
分析输出结果
#include<iostream.h>
class Set
{
 public:
   Set(){PC=0;}
   Set(Set &s);
   void Empty() {PC=0;}
   int IsEmpty() {return PC= =0;}
   int IsMemberOf(int n);
   int Add(int n);
   void Print();
   friend void reverse(Set *m);
 private:
   int elems[100];
   int PC;
  };
int Set::IsMemberOf(int n)
{
 for (int i=0;i<PC;i++)
   if(elems[i]= =n)
return 1;
 return 0;
}
int Set::Add(int n)
{
 if(IsMemberOf(n))
   return 1;
 else if(PC>=100)
   return 0;
 else
{
 elems[PC++]=n;
 return 1;
}
}
Set::Set(Set &p)
{
 PC=p.PC;
 for(int i=0;i<PC;i++)
  elems[i]=p.elems[i];
}
 void Set::Print()
 {
   cout<<”{“;
   for (int i=0;i<PC-1;i++)
cout<<elems[i]<<”,”;
if(PC>0)
  cout<<elems[PC-1];
cout<<”}”<<endl;
}
void reverse(Set *m)
 {
  int n=m->PC/2;
  for(int i=0;i<n;i++)
   {
int temp;
temp=m->elems[i];
m->elems[i]=m->elems[m->PC-i-1];
m->elems[m->PC-i-1]=temp;
}
 }
void main()
{
 Set A;
 cout<<A.IsEmpty()<<endl;
A.Print();
Set B;
for(int i=1;i<=8;i++)
 B.Add(i);
 B.Print();
 cout<<B.IsMemberOf(5)<<endl;
 B.Empty();
 for(int j=11;j<20;j++)
  B.Add(j);
 Set C(B);
 C.Print();
 reverse (&C);
 C.Print();
}
     1
 {}
 {1,2,3,4,5,6,7,8}
 1
 {11,12,13,14,15,16,17,18,19}
 {19,18,17,16,15,14,13,12,11}

函数执行的过程是怎样的?
为啥会输出这个结果呢


[ 本帖最后由 realll 于 2010-5-19 13:01 编辑 ]
搜索更多相关主题的帖子: 结果 输出 
2010-05-19 12:36
realll
Rank: 1
等 级:新手上路
帖 子:55
专家分:4
注 册:2009-7-23
收藏
得分:0 
回复 2楼 ciweitou163
cout<<A.IsEmpty()<<endl;                //输出 1  调用(1)
想请教一下,A.IsEmpty() 里没有输出流,为啥会有输出呢?因为return?
2010-05-19 21:21
realll
Rank: 1
等 级:新手上路
帖 子:55
专家分:4
注 册:2009-7-23
收藏
得分:0 
回复 4楼 ciweitou163
这样子哦
2010-05-20 22:35
快速回复:分析输出结果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016789 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved