- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 实验6
实验6
实验目的
1、指针、引用和拷贝构造函数
通过指针、引用传递参数
由已有对象创建新对象时,执行位拷贝or拷贝构造函数
2、运算符重载
一元运算符重载
二元运算符重载
1.1 指针
1、设计函数
void markTable(char* table[], int size);
此函数按行输入字符串,从中摘出词并建立词表(词与词之间与空格隔开)。
当词表中的词满size-1个或发现名为”QUIT”的词时,建表工作即告完成。返回时,size记录的是表中词的实际个数,并且table的前size个元素中的每个元素指向一个词。
表中的词不得重复,每个词的长度不超过80,存放词的空间通过new操作获得。
#includeiostream
#includestring
using namespace std;
int markTable(char* table[],int size);
void main(){
int size=100;
char*table[100];
markTable(table,size);
for(int i=0;isize;i++){
couttable[i]endl;
}
for(int j=0;jsize;++j){
delete table[i];
}
}
int markTable(char* table[],int size){
char temp[80];
cout请输入 endl;
for(int i=0;isize;++i){
cintemp;
if(!strcmp(temp,QUIT)){
size=i;
return i;
}
bool flag=ture;
for(int j=0;ji-1;++j){
if(!strcmp(temp.table[j]))
flag=false;}
if(flag){
table[i]=new char[strlen(temp)+1];
strcopy_s(table[i],strlen(temp)+1,temp);
}
else --i;
}
}
#includeiostream
#includestring
using namespace std;
int markTable(char* table[],int size);
void main(){
int size=100;
char*table[100];
markTable(table,size);
for(int i=0;isize;i++){
couttable[i]endl;
}
for(int j=0;jsize;++j){
delete table[i];
}
}
int markTable(char* table[],int size){
char temp[80];//存单词
cout请输入 endl;
for(int i=0;isize;++i){
cintemp;
if(!strcmp(temp,QUIT)){
size=i;//单词的个数
return i;
}//判断是否跳出
int flag=1;
for(int j=0;ji-1;++j){
if(!strcmp(temp.table[j]))//是否重复
flag=0;}
if(flag){
table[i]=new char[strlen(temp)+1];
strcopy_s(table[i],strlen(temp)+1,temp);
}
else --i;
}
}
1.2 引用
函数只能返回一个值。如果程序需要从函数返回两个值怎么办?
解决方法之一是采用引用给函数传递两个参数,然后由函数往目标中填入正确的值。
因为采用引用传递允许函数改变原来的目标,这一方法实际上让函数返回两个信息。
这一策略绕过了函数的返回值,使得可以把返回值保留给函数。
1.2 引用
2、编写Factor()函数
检查用值传递的第一参数。如果不在0~20的范围内,它就简单地返回错误值(假设程序正常返回为0)。
程序所真正需要的值squared和cubed是通过改变传递给函数的引用返回的,而没有使用函数返回机制。
#includeiostream
#includestring
using namespace std;
Factor(int a,int b,int c){
coutEnter a number:endl;
cina;
if(a20||a0)
couterror;
}
b=a*a;
c=a*a*a;
//函数体内部只有一个返回值
}
void main(){
int num;
cinnum;
int r1=sq;
int r2=cu;
Factor(num,r1,r2);
}
1.3 拷贝构造函数
3、试图通过实
您可能关注的文档
- 702-项目策划管理程序H.doc
- 78省道水霞线改建工程梁板安装施工方案.doc
- 79注射用苯唑西林钠工艺规程.doc
- 7_人脑与电脑优质课.ppt
- 7A UNIT 4 READING 1food and lifestyles课件(PPT 23页).ppt
- 7学习指导与习题解答-6.doc
- 7小时最养生(PPT 24页).ppt
- 8 退休规划.ppt
- 800刮板机液压系统技术培训.ppt
- 802D操作与编程培训.ppt
- 第九章 销售与收款循环审计 .pdf
- 1.9《体积单位间的进率》说课(课件)-2024-2025学年六年级上册数学苏教版.pptx
- 长方体和正方体的体积计算(课件)-2023-2024学年人教版五年级数学下册.pptx
- 第二次月考素养提升卷(5~6单元)(试题)-2024-2025学年五年级数学上册人教版.docx
- 4.表内乘法(一)(乘加、乘减)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 表内乘法(7的乘法口诀)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 吨的认识(课件)-2024-2025学年三年级上册数学人教版.pptx
- 期中检测卷(试题)-2024-2025学年五年级上册语文统编版.docx
- 第七单元《扇形统计图》思维拓展练习(课件)-2024-2025学年六年级上册数学人教版.pptx
- 本文中来自ASME BPE标准委员会的现任委员将一一为您答疑解惑 .pdf
文档评论(0)