- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编程题(6道题目)
按下列要求编程:
定义一个描述矩形的类Rectangle,包括的数据成员有宽(width)和长(length);
类成员函数,计算矩形周长;
类成员函数,计算矩形面积;
类成员函数,改变矩形大小;
在主函数中,定义类的对象,并且调用每一个类的成员函数。
参考代码:
#includeiostream.h
class Rectangle{
public:
Rectangle(int w, int l):width(w),length(l){}
int area(){return width*length;}
int periment(){return 2*(width+length);}
void changesize(int a, int b){width=a;length=b;}
void print();
private:
int width,length;
};
void Rectangle::print()
{
coutarea()=area()endl;
coutperiment()=periment()endl;
}
int main()
{
Rectangle rect(20,30);
rect.print();
rect.changesize(30,40);
rect.print();
}
拷贝构造函数(参考14.2)
已有如下类的定义,根据已有代码,把类的定义补充完整,即定义出拷贝构造函数和析构函数。
class Vector{
public:
Vector(int s=100);
Vector(Vector v);
~Vector();
protected:
int size;
int* buffer;
};
Vector::Vector(int s)
{
buffer=new int[size=s];
for(int i=0; isize; i++)
buffer[i]=i*i;
}
参考代码:
Vector::Vector(Vector v)
{
size=v.size;
buffer = new int[size];
for(int i=0; isize; i++)
buffer[i] = v.buffer[i];
}
Vector::~Vector( )
{ delete []buffer; }
静态数据成员(参考15.1(1))
参考代码
class Class{
public:
Class(int v):value(v){ staticV++; }
~Class(){ staticV--; }
int Get(){ return value; }
static int staticV;
protected:
int value;
};
int Class::staticV=0;
静态成员函数(参考15.1(2))
参考代码
class Class{
public:
Class(int v):value(v){ staticV++; }
~Class(){ staticV--; }
int Get(){ return value; }
static int GetStatic();
protected:
int value;
static int staticV;
};
int Class::staticV=0;
int Class::GetStatic(){ return staticV; }
公有继承
有父子两人,父亲会修理电视,开车,有工资属性,父亲类定义如下:
class Father{
public:
Father(int x):money(x)
{ cout father is created.\n; }
void DoWork(){ cout father Drive a car.\n; }
void DoWork2(){ cout father ; RepairTV(); }
virtual void play(){};
protected:
int money;
void RepairTV() { cout Repair a TV set.\n; }
};
父亲有正式工作,做司机。私下里,会修电视机。父亲对外说自己贪玩,其实什么都不会玩(虚函数)。
儿子继承了父亲做司机的能力,并且发展了父亲贪玩的特性:打乒乓球。同时,儿子有自己的私有数据成员身高height和体重Weight。
要求:
请给出儿子类的定义,完成构造函数的定义;
重载DoWork()函数,实现输出“ boy Dri
文档评论(0)