1、第一次作业:
重载函数k,功能分别是计算n(n>=0)的阶乘、两个字符串连接在一起并将后三个字符输出。
#include "iostream.h"
#include "string.h"
void k(char s1[],char s2[])
{
int m;
strcat(s1,s2);
m=strlen(s1);
cout<<"m="< 2、< 3、ircle(float r) //构造函数
{radius=r;}
double Area() //圆面积
{ return PI * radius * radius; }
double length() //圆周长
{ return 2*PI * radius; }
};
//声明圆柱类
class Column
{
private:
Circle c; //内嵌对象,圆的对象c作为Column的数据成员
float high;
public:
Column(floa 4、t r,float high1) :c(r) //构造函数
{ high=high1;}
void V() //圆体积
{ cout< 5、mn c1(radius,high); // 声明Column对象
c1.V();
}
第三次作业
描述卡车类Truck,其私有成员为wage、distance和price,分别表示卡车的载货量(单位:吨)、行驶的里程(单位:里)和运费单价(单位:元/每吨每里),请分别用友元函数和静态成员函数计算某一辆卡车的运费。
#include 6、rice=p;
}
static double sum(Truck &T)
{
return T.weight*T.distance*T.price;
}
friend double sum(Truck &T);
private:
float weight;
float distance;
float price;
};
double sum(Truck &T)
{
return T.weight*T.distance*T.price;
}
void main()
{
Truck a(50, 7、20,10);
cout< 8、/构造函数
{radius=r;}
double Area() //圆面积
{ return PI * radius * radius; }
double length() //圆周长
{ return 2*PI * radius; }
};
//声明圆柱类
class Column:public Circle
{
private:
float high;
public:
Column(float r,float high1):Circle(r) //构造函数
{ high=high1;}
9、
void V() //圆体积
{ cout<< Area()*high< 10、
}
第五次作业
Point类描述点这一概念,其中数据成员x和y表示点的横坐标和纵坐标。Circle类描述圆这一概念,它是Point的派生类,Circle类中新增数据成员radius表示圆的半径。请用C++代码描述这两个类,并用Circle类的友元函数Display输出圆的圆心的横、纵坐标和圆的半径,写出main函数的实现。
#include 11、oint(float x1, float y1) //构造函数
{x=x1;y=y1;}
float getx()
{return x;}
float gety()
{return y;}
};
//声明圆类
class Circle:public Point
{
private:
float radius;
public:
Circle (float x2, float y2,float r):Point(x2,y2) //构造函数
{radius =r;}
float getR()
{return radiu 12、s;}
friend void display(Circle &c);
};
void display(Circle &c)
{cout< 13、ius;
Circle c1(x,y,radius); // 声明派生类Circle的对象
display(c1);}
第六次作业
类T描述出租车类,成员s、k与p分别表示起车价格、行驶公里数和每公里单价,其中成员函数count用于计算乘客使用出租车的费用;使用出租车的费用=起车价格+(公里数-2.5)*单价。类J描述学生成绩类,成员m、c和e分别表示数学、语文和英语成绩,num表示学号,name表示姓名,其中成员函数count用于计算学生的数学、语文和英语的平均成绩,请通过抽象类K的指针或引用实现某次使用出租车的费用和某个学生平均成绩的计算,写出主函数的实现。
# 14、include 15、me[20];
double m,c,e;
public:
J(int num1,char name1[],float m1,float c1,float e1)
{
num=num1;strcpy(name,name1);m =m1; c =c1;e=e1;
}
int getNum(){return num;}
char* getName(){return name;}
double count(){return (m+c+e)/3;}
};
void main( )
{ T b(120,3,150);
J j(12,"zh 16、angsan",34,65.7,1200);
K *k;
k =&b;
cout< 17、har* getName()
{
return name ;
}
private:
char name[10];
};
class MP:public People{
public:
MP(char n[],double w,int d1):People(n)
{
wage=w;
d=d1;
}
double getWage(){return wage;}
friend void Add(MP &m);
private:
double wage;
int d;
18、
};
void Add(MP &m)
{
switch(m.d)
{
case 1:m.wage=m.wage+50;break;
case 2:m.wage=m.wage+80;break;
case 3:m.wage=m.wage+100;break;
}
cout< 19、000,3);
Add(m1);
Add(m2);
Add(m3);
}
第八次作业:
设计一个圆类,运算符重载+号,计算两个圆面积的和。
#include 20、
Circle::Circle(float r)
{radius=r;}
double Circle::Area() const
{ return PI * radius * radius;}
double Circle::operator +(Circle &c)
{ return Area()+c.Area();}
void main ()
{ float radius1,radius2;
cout<<"Enter the radius of the Circle: ";
cin>>radius1>>radius2;
Circle c 21、1(radius1);
Circle c2(radius2);
c1+c2;
cout<<"AddArea="< 22、le(float r) //构造函数
{radius=r;}
double Area() //圆面积
{ return PI * radius * radius; }
double length() //圆周长
{ return 2*PI * radius; }
};
void main ()
{ float radius;
cout<<"Enter the radius of the Circle: ";
cin>>radius;
Circle c(radius);
struct{
float area;
float length;
}circle1;
circle1.area=c.Area();
circle1.length=c.length();
ofstream outfile("circle",ios::binary);
outfile.write((char*) &circle1,sizeof(circle1));
outfile.close();
}






