当前位置:首页 > C++期末考试复习题
friend Complex operator+(Complex&, Complex&); //对“+”运算符进行重载
friend ostream& operator<<(ostream&, Complex&); //对“<<”运算符进行重载 friend istream& operator>>(istream&, Complex&); //对“>>”运算符进行重载 private:
double real,imag; };
要求:(1)写出该类的所有构造函数的类外定义代码。
(2)写出对运算符“+”、“<<”、“>>”进行重载的运算符重载函数的定义。
3. 编写程序,计算出复数对象c1和c2相加结果,并将其结果输出。
4. 从建立的数据文件f1.dat中读入10个整数放在数组中,找出并输出10个数中的最大者和它在数组中的序号。 解:
#include
using namespace std; int main( ) { }
cout< for(i=1;i<10;i++) if(a[i]>max) {max=a[i]; order=i; } cout<<\return 0; int a[10],max,i,order; fstream infile(\if( !infile ) { { } infile>>a[i] ; cout< cerr<<\for(i=0;i<10;i++) 5. 根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。 class AA { int* a; int n; int MS; public: void InitAA(int aa[], int nn, int ms) { if(nn>ms) {cout<<\ MS=ms; n=nn; a=new int[MS]; for(int i=0; i int MaxMin(int& x, int& y); //从数组a的前n个元素中求出 //最大值和最小值,并分别由引用参数x和y带回, //同时若n大于0则返回1,否则返回0。 }; 解: int AA::MaxMin(int& x, int& y) { int mx,my; mx=my=a[0]; for(int i=1; i x=mx; y=my; if(n>0) return 1; else return 0; } 6. 根据下面类中构造函数的原型和注释写出它的类外定义。 class Array { int *a; //指向动态分配的整型数组空间 int n; //记录数组长度 public: Array(int aa[], int nn); //构造函数,利用aa数组长度nn初始化n, //利用aa数组初始化a所指向的数组空间 Array(Array& aa); //拷贝构造函数 Array& Give(Array& aa); //实现aa赋值给*this的功能并返回*this Array Uion(Array& aa); //实现*this和aa中的数组合并的 //功能,把合并结果存入临时对象并返回 int Lenth() {return n;} //返回数组长度 void Print() { //输出数组 for(int i=0; i 解: Array::Array(Array& aa) { n=aa.n; a=new int[n]; for(int i=0; i
共分享92篇相关文档