C 作业汇总

发布 2022-07-17 04:56:28 阅读 5571

要求:1)定义构造函数、析构函数,构造函数包括无参构造函数、有参构造函数、拷贝构造函数。

2)在类circle中添加静态成员counter,为生成的对象计数。并在类中添加一个数据成员,记录此对象的编号,编号按照生成的先后顺序赋值,即对象生成时的counter值。重新编写输出圆信息的函数,将编号信息也包含在输出之列。

3)添加一个友元函数,比较两个圆对象的面积大小。输出比较结果。

4)在测试程序main()中,完成如下的测试。

1)定义3个circle对象,分别调用无参构造函数、有参构造函数、拷贝构造函数。

2)计算三个对象的周长、面积并输出。

3)定义一个指针对象,使用new动态申请空间,计算其周长、面积并输出,用delete消除。

4)定义一个普通对象数组,包含5个元素,分别计算其周长、面积并输出。

5)定义一个指针对象数组,包含5个元素,分别计算其周长、面积并输出。

答案仅供参考。

#include

#include<>

using namespace std;

const double pi=3.141593;

class circle

public:

circle()

circle(int r)

~circle();

circle(const circle&obj)

void setm(int r);

static int getcounter();

int getn();

void show();

int getm();

double getgirth();

double getarea();

friend void compares(circle &c1,circle &c2);

private:

int m;

int n;

static int counter;

int circle::counter=0;

circle::~circle()

cout<<"正在析构编号为"< counter--;

double circle::getgirth()

return 2*pi*m;

double circle::getarea()

return pi*m*m;

void circle::setm(int r)

m=r;int circle::getm()

return m;

int circle::getcounter()

return counter;

int circle::getn()

return n;

void circle::show()

cout<<"编号为"< cout<<"面积="

void compares(circle &c1,circle &c2)

if(>

cout<<"编号为"<<的圆的面积大"< else if(<

cout<<"编号为"<<的圆的面积大"< else

cout<<"编号为"<<和"<<的圆的面积一样大"< cout<}

int main()

srand(time(null));

circle c1,c2(2),c3=c2;

compares(c2,c3);

circle *c4=new circle(3);

c4->show();

delete c4;

circle shuzu[5];

int i;

for(i=0;i<5;i++)

circle *p=new circle[5];

for(i=0;i<5;i++)

delete p;

return 0;

课后习题5。

掌握基类、派生类之间的构造函数传值、调用。

例如:class cvehicle

public:

cvehicle( int iwheelnum )

void vshow( void )

private:

int m_iwheelnum轮数。

class ccar : public cvehicle

public:

ccar( int iwheelnum, int ipassennum ):cvehicle( iwheelnum )

void show( void )

private:

int m_ipassennum; /载客人数。

void main( void )

ccar car(4,5);

课后习题6.

在第6题的基础上,添加如下操作。

在基类cpublication中添加一个日期类date的对象:出版时间pub_date。关于数据的操作,如(显示数据、赋值等操作),同时添加上对于此对象的数据操作。

#ifndef _3_3_h_

#define _3_3_h_

class date

public:

void setdate();

void print();

private:

int year;

int month;

int day;

class cpublication

public:

void getdata();

void putdata();

protected:

date pub_date;

private:

char biaoti[30];

float jnum;

class cbook:virtual public cpublication

public:

void getdata();

void putdata();

private:

float tnum;

#endif;

#include""

void cpublication::getdata()

char b[30];

float j;

int i;

cout<<"qingshurubiati:">b;

cout<<"qingshurujiage: "cin>>j;

pub_for(i=0;i<30;i++)

biaoti[i]=b[i];

jnum=j;

void cpublication::putdata()

cout<<"biaotiwei: "cout<<"jiagewei: "pub_

void cbook::getdata()

int y;

cout <>y;

ynum=y;

void cbook::putdata()

cout<<"yeshuwei: "

void ctape::getdata()

foat t;

cout<<"qingshurubofangshjian(yifenzhongweidanwei): cin>>t;

tnum=t;

void ctape::putdata()

cout<<"bofangshijianwei(yifenzhongwedanwei):

void date::setdate()

int y,cout<<"qingshuruchubansijian(nianyueri): cin>>y>>m>>d;

year=y;

month=m;

day=d;

void date::print()

cout<<"chubanshijianwei: "

#include

#include""

#iclude""

int main()

cbook b1;

b1..cbook::putdata();

cout

《C语言》作业汇总

第一章作业 2014 3 11 1 习题一 1xt1 5 1 xt1 6 1 xt1 7 1 xt1 8 2 第二章作业 2014 3 11 2 习题二 2第三章作业 2013 3 11 2 习题三 2第一章 第三章重点 2 一 重要知识点 2 2.1 选择题 3 2.2 填空题 10 二 作业 1...

C考点汇总

第一部分整理 据说必考的!以下数字都是书上的页码 p53 注意 base p59实参和形参之间的四种按值传递!一定要掌握的!p110集合类,据说要写程序!自己看吧p125多catch语句的这段 要掌握啊!p129委托是个重点,委托 这个标题下面的几行阴影的字!p132事件,与委托的区别和联系!p13...

2024年C笔试题汇总

一 判断题 正确的打 错误的打 每题1分,合计1x10 10分 1.c语言中,016218表示为一个八进制整数。错 2.switch c 语句中,c可以是int,long,unsigned char,char,unsigned int类型。对 3.有数组定义int a1 2 2 则a1 1 1 的值...