综合性实验 - 1(2)

2019-08-01 23:10

if (f.num==0) { } intn,d;

//公式:(num/den) * (f.num/f.den) =(num*f.den)/(den*f.num)

/* 代码段6 */

cout<<\除数不能为0\exit(1);

return Fraction(n,d); }

//友元函数的定义

int operator ==(Fraction & f1,Fraction & f2) { }

int operator !=(Fraction & f1,Fraction & f2) { }

//可能有多行代码

int operator >=(Fraction & f1,Fraction & f2) {

Fraction temp; temp=f1-f2; return代码行5; Fraction temp; temp=f1-f2; if (temp.num==0) else

return 0; return 1;

/* 代码段7 */

}

int operator <=(Fraction & f1,Fraction & f2) { }

int operator <(Fraction & f1,Fraction & f2) { }

int operator >(Fraction & f1,Fraction & f2) { }

ostream& operator<<( ostream&os,const Fraction & f) { }

if (f.num==0 || f.den==1) else

代码行6; //以\的形式输出 cout<=f2); Fraction temp; temp=f1-f2; if (temp.num<=0) else

return 0; return 1;

return代码行7;

istream& operator>>( istream& is, Fraction & f) {

string s;

is >> s; //将\作为字符串读入, \中间不能有空格 intpos = s.find(\

string sTmp =代码行8; //分离出代表实部的字符串

f.num= atoi(sTmp.c_str());//atoi库函数能将const char*指针指向的内容转换成int sTmp = s.substr(pos+1, s.length()-pos-1); //分离出代表虚部的字符串 f.den = atoi(代码行9); }

//main.cpp内容

#include

代码行10//包含头文件fraction.h using namespace std;

int main() {

//分数进行四则运算

cout<

/* 代码段8 */

代码行11;//定义分数类对象f1、f2

cout<<\请以x/y形式分别输入两个分数:\cout<<\代码行12;//输入f1 cout<<\cin>>f2; cout<

cout<

//分数的关系运算

/* 代码段9 */

}

cout<<\ ? 结果: \cout<<\ ? 结果: \cout<<\ ? 结果: \cout<

return 0;

阅读程序代码,回答相关问题:

①为什么在fraction.h中要使用#ifndef __FRACTION_H_...#define __FRACTION_H__...#endif条件编译指令? 防止头文件被重复引用。

②类的成员函数在类外定义时应如何书写? 返回值类型 类名::成员函数名(形式参数表) {

// 函数体 }

③类的构造函数、析构函数各有什么作用?书写时有什么不同? 构造函数的作用:对象创建时用特定值去初始化对象(自动完成) 析构函数的作用:对象消亡前做一些清除工作(自动完成) ④运算符重载有哪两种方法?它们有什么不同? 成员函数和友元函数。不同点:

成员函数:运算符函数的参数个数要比操作数的个数少一个,即双目运算符仅有一个参数,单目运算符无参数。

友元函数:运算符函数的参数个数与操作数的个数一样多。

⑤互为相反式的关系运算符,在重载时如何书写最为简便? 取反“!”。

⑥重载<<、>>运算符时有什么需要注意的地方?

(1)只能用友元函数方法重载,不能用成员函数方法重载;

(2)有两个参数,一个是流对象(输出流类为ostream,输入流类为istream),另一个是用户自定义类型的对象。为了能实现对象的连续输入、输出,返回对象也必须是流对象,并且参数、返回对象均为引用类型。调用时,这里的流对象也就成了cout或cin的别名; (3)通常,使用<<运算符输出时,对于输出内容不作修改,可以加上const关键字对其进行修饰。

(3)调试、运行程序.

6、考核形式

根据实验报告质量,给予综合评分。

7、实验报告要求

实验报告除必备的实验目的、实验要求等要素外,应包含以下内容: (1) 说明程序测试的过程和结果; (2) 说明程序的运行流程;

(3) 填写9处代码段、12行代码内容; (4) 写出6个问题的答案; (5) 所有的思考题答案。

8、思考题

(1) 类的声明与实现分离有什么优点?

(2) 类的对象存储内容是什么?怎样得到对象存储空间的大小? (3) 为什么要重载运算符?它有什么特点? (4) Fraction对象的运算是否准确?

(5) 系统定义的int类型范围不大,若要定义长度为100位的整数,该从哪些方面考虑?


综合性实验 - 1(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:司法行政系统信息化建设的思考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: