云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第五章答案类、构造函数、拷贝构造函数、静态成员、友元

第五章答案类、构造函数、拷贝构造函数、静态成员、友元

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 3:42:53

double Total,Rate; };

void main( )

A a1(1000.0,O.035),a2(768.0,O.028);

cout<<Count(a1)<<','<<Count(a2)<<end1; 运行该程序输出如下结果 1035, 789.504 说明:

该程序的类A中定义一个友元函数(函数体可以定义在类体内,通常定义在类体 外)。该程序是计算利息的。例如,本金1000元,存一年,利率为3.5%,一年后本利和为1035元。 5.

#include

class Set {

public: Set() { PC=0; } Set(Set &p); 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

}

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

void Set::Print() { cout<<'{'; for(int i=0;i0) cout<

void reverse(Set *m) { int n=m->PC/2; for(int i=0;ielems[i]; m->elems[i]=m->elems[m->PC-i-1]; m->elems[m->PC-i-1]=temp; } }

void main() { Set A; cout<

A.Print(); Set B; for(int i=1;i<=8;i++) B.Add(i); B.Print(); cout<

运行该程序输出结果如下所示. 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} 说明:

该程序的Set类是用来对一个int型数数列进行操作的程序.Set类中,数据成员有 一个数组elems[],它用来存放int型数数列的,另一个数据成员PC是一个标识数组中有 多少个数的“指针”。当PC为0时,表示数列为空,当PC=100时表示数列已满.该程序 中,给出的数列操作如下所示。

(1)清空数列。使用函数Empty()。

(2)判断数列是否是空。使用函数IsEmpty()。 (3)向数列中填加数据。使用函数Add()。

(4)判断某数是否已存在数列之中。使用函数IsMemberof()函数。 (5)输出显示数列的内容。使用函数Print()。 (6)将已知数列逆向排列。使用函数reverse()。

另外,该类中还定义了两个构造函数,用于初始化所创建的对象。一个是默认构造函数,另—个是拷贝初始化构造函数。

读者首先熟悉上述函数的功能,如有兴趣再补充一些其他操作函数。 四、按下列要求编写程序

在一个程序中,实现如下要求: (1)构造函数重载;

(2)成员函数设置默认参数; (3)有一个友元函数; (4)有—个静态函数;

(5)使用不同的构造函数创建不同对象. 程序内容如下所示。 #include

class test {

public:

text( ) {}

text(int i,int j=20) {

t1=i; t2=j; t+=j-i; }

static int fun(text & T); friend int add(text & T); private:

int t1,t2; static int t; };

int text::fun(text & T) {

t+=T.t;

return t; }

int add(Test & T) {

int n=T.t1+T.t2; return n; }

int Test::t=5;

void main() {

Test a1,a2(10),a3(15,25); cout<

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

double Total,Rate; }; void main( ) A a1(1000.0,O.035),a2(768.0,O.028); cout<<Count(a1)<<','<<Count(a2)<<end1; 运行该程序输出如下结果 1035, 789.504 说明: 该程序的类A中定义一个友元函数(函数体可以定义在类体内,通常定义在类体 外)。该程序是计算利息的。例如,本金1000元,存一年,利率为3.5%,一年后本利和为1035元。 5. #include class Set { public: Set() { PC=0; } Set(Set &p); void Empty() { PC=0; }

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com