文档详情

c++实验报告[精].doc

发布:2017-01-13约3.41千字共5页下载文档
文本预览下载声明
一、基础题: 1、P298 8-4 定义计数器Counter类,对其重载运算符 + 。 #includeiostream using namespace std; class count { public: count(double a):pulse(a){} count operator+(const count c2)const { return count(pulse+c2.pulse); } void display() { coutpulse=pulseendl; } private: double pulse; }; void main() { count c1(3),c2(4),c3; coutc1=;c1.display(); coutc2=;c2.display(); c3=c1+c2; coutc3=c1+c2=;c3.display(); } P298 8-8定义一个基类BaseClass,从它派生出类DerivedClass,BaseClass有成员函数fn1()、fn2(),DerivedClass也有成员函数fn1()、fn2(),在主程序中定义一个DerivedClass的对象,分别用DerivedClass的对象以及BaseClass和DerivedClass的指针来调用fn1()、fn2(),观察运行结果。 #includeiostream using namespace std; class BaseClass { public: int var; void fn1() {cout调用BaseClass的fn1endl;} void fn2() {cout调用BaseClass的fn2endl;} }; class DerivedClass:public BaseClass { public: int var; void fn1() {cout调用BaseClass的fn1endl;} void fn2() {cout调用BaseClass的fn2endl;} }; int main() { DerivedClass d; DerivedClass *p=d; BaseClass b; BaseClass *q=b; d.var=1; d.fn1(); d.fn2(); d.BaseClass::var=2; d.BaseClass::fn1(); d.BaseClass::fn2(); p-DerivedClass::var=3; p-DerivedClass::fn1(); p-DerivedClass::fn2(); q-BaseClass::var=4; q-BaseClass::fn1(); q-BaseClass::fn2(); return 0; } 二、提高题 实现重载函数Double(x),返回值为输入参数的两倍;参数分别为整型、长整型、浮点型、双精度型,返回值类型与参数一样。 #includeiostream using namespace std; int Double(int a){return 2.0*a;} long int Double(long int a){return 2*a;} float Double(float a){return 2.0*a;} double Double(double a){return 2.00000*a;} void main(){ int m; cout输入一个整型数 ; cinm; cout它的两倍是Double(m)endl; long int p; cout输入一个长整型数 ; cinp; cout它的两倍是Double(p)endl; float r; cout输入一个浮点型数 ; cinr; cout它的两倍是Double(r)endl; double n; cout输入一个双精度数 ; cinn; cout它的两倍是Double(n)endl; } 定义一个复数类,重载“+”;“-”;“*”,“/”运算符实现复数的四则运算。 #include iostream using namespace std; class Complex { public: Complex(double r=
显示全部
相似文档