1. 定义一个cat类,拥有静态数据成员howmanycats,记录cat的个体数目;静态成员函数gethowmany(),存取howmanycats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。
1) 实验分析:本题的难点就是静态数据成员和静态成员函数的定义和使用。
2) 程序**:#include
#include
using namespace std;
class cat
public:
cat(string name="untitle",double age=0,double weight=0):name(name),age(age),weight(weight)
cat(cat &c):name(
static int gethowmany();
void showcat();
private:
string name;
double age,weight;
static int howmanycats;
int cat::howmanycats=0;
int cat::gethowmany()
return howmanycats;
void cat::showcat()
for(int i=0;i<30;i++)
cout<<"
cout< cout<<"the name of this cat is: "cout<<"the age of this cat is(years): cout<<"the weight of this cat is(kg):
for(i=0;i<30;i++)
cout<<"
cout<}
void outputwords();
int main()
outputwords();
cout<<"now we input data of one cat"< cat cat1;
outputwords();
cout<<"now we input data of one cat"< cat cat2("jack",8.5,80.7);
outputwords();
cout<<"now we input data of one cat"< cat cat3("哈哈",-100,0.5);
outputwords();
return 0;
void outputwords()
cout<<"now there are "<
3) 实验结果:
2. 设计一个点(point)类,1)在点类中设计友员函数,求两点间的距离。
2)设计一个线段(line)类。
1)实验分析:两点间的距离用普通函数dist来计算。
2)程序**:#include
#include
using namespace std;
class point
public:
point(int x=0,int y=0)
friend float dist(point &po1,point &po2);
private:
int x,y;
float dist(point &po1,point &po2)
double x=
double y=
return (sqrt(x*x+y*y));
class line
public:
line(point px1,point px2)
float length()
private:
point po1,po2;
void main()
int x,y;
cout<<"请输入第一点的坐标:";
cin>>x>>y;
point p1(x,y);
cout<<"请输入第二点的坐标:";
cin>>x>>y;
point p2(x,y);
line ab(p1,p2);
cout<<"the distance is "<
3)实验结果:
3、定义一个学生类,数据成员有:总人数、姓名、性别、成绩等,设计程序要求能统计学生的总人数、修改成绩并打印成绩。
程序**:#include
#include
using namespace std;
class student
public:
int nallnum;
char cname[5];
char csex[2];
int nscore;
int nid;
student()
protected:
private:
void main()
vector stu;
student tmpstu;
int nflag = 1;
do while (nflag !=0);
int nallnum =
int changeid;
cout<<"请输入想修改成绩的学生学号:"
int nflag1 = 0;
for (int i=0;i
if (nflag1 !=1)
file *fp = fopen(""w");
fprintf(fp,"总人数为:%d",nallnum);
for (i=0;i
cout<<"统计结果在result文件中!" 实验结果:4.设计一个类,要求类中至少有一个友员函数,然后在主程序中访问友员函数。 程序**:#include<> #include<> class point public: point(int a,int b) int x, y; class line int a,b,c; public: line(int x,int y,int z) friend double length( line l,point p) double d; d=abs(( return d; void main() point p(9,9); line l(5,3,-4); cout<<"长度为"<} 实验结果:5. 设计一个用于人事管理的people(人员)类。 要求具有如下属性:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。 用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数,拷贝构造函数、内联成员函数、聚集。 在测试程序中定义people类的对象数组,录入数据并显示。 程序**:#include #include<> using namespace std; class birthday/*生日的birthday类*/ private: int y,m,d; public: birthday(int y=1900,int m=1,int d=1)/*构造函数*/ birthday(birthday & p)/*拷贝构造函数*/ void set(int y,int m,int d)/*生日设定*/ void show()/输出生日*/ int gety() int getm() int getd() class people private: char name[11]; 1.设计并测试一个名为rectangle的矩形类,其属性为矩形的左上角与右下角两个点的坐标,根据坐标能计算矩形的面积。1 实验目的 根据坐标求矩形的面积。2 实验分析 类的基础题,题目的主要难点在于函数的调用。3 程序 include using namespace std class rectan... 实验七 继承与派生 一 1.定义一个shape基类,在此基础上派生出rectangle和circle,二者都有getarea 函数计算对象的面积。使用rectangle类创建一个派生类square。实验分析 首先定义出shape类,然后定义getarea函数,然后派生出rectangle和circl... 1.编写一个函数,统计一个英文句子中字母的个数,在主程序中实现输入 输出。实验分析 利用getline函数输入字符串,然后用循环语句依次取出字符,并判断是否为字母,若是字母,就将count加1,最后输出count的值即可。程序 include include using namespace std ...C 第4次作业
C 第7次作业
C 第6次作业