- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
题目c++面向对象程序设计课程设计
清单:5小题+员工薪资管理系统(类、链表实现)
姓名:
学号:
专业:计算机科学与技术
学院:
指导教师:
2018年6月17日
Part1:小程序练习
类的继承
定义一个point类,包含私有数据成员x,y,成员函数包含无参结构函数,
带参结构函数,set和get属性函数。定义circle类,从point类公有派生,
增添数据成员半径r,成员函数包含无参结构函数,带参结构函数,计算面
积函数
getarea
。在
main
函数中定义一个
circle
的对象,并计算其面积。
/*
1.定义
Point
类,设置其成员函数(结构函数,拷贝结构函数和析构函数)以及
setx()
sety()getx()gety()
四
个属性函数。
2.定义circle类,设置其成员函数(结构函数,拷贝结构函数和析构函数)以及获得半径
积并获得面积的函数getarea()。
3.在主函数中定义类的对象c1并初始化r=2。再调用getarea()函数输出头积
r的函数
get_r()
计算面
*/
returnx;
#includeiostream
usingnamespacestd;
classpoint
//定义point
类
}
voidset_y(inty)
{
{
this-y=y;
public:
point(){}
point(intx,inty)
}
intget_y()
{
{
returny;
}
voidset_x(intx)
{
this-x=x;
}
private:
intx;
inty;
//私有对象
xy
}
};
intget_x()
classcircle:publicpoint
//circle
类公有派生
{
point
{
public:
}
private:
circle(){}
intr;
//circle
私
circle(doubler,intx,inty):point(x,y)
{
this-r=r;
}
有对象r
};
intmain()
{
doubleget_r()
{
circlec1(2,3,6);
coutr=c1.get_r()endl;
returnr;
}
doublegetarea()
cout该圆面积=c1.getarea()endl;
system(pause);
return0;
{
return(3.14*r*r);
}
//发现问题:定义的
r仿佛只显示出
int
种类
运转结果剖析:
主函数中r=2,输出圆面积12.56
2运算符重载,友元函数和
this指针
定义一个计数器类
counter,具备自增,自减功能(前后缀)
;输入输
出,功能。在main函数里测试该类。
/*
{
1.定义counter
类,私有成员数据weight,设置其成员函数
++P;
(结构函数和析构函数)
return*this;
2.重载自加自减运算符和、运算符。
}
3.在主函数中实现运算符重载。
countercounter::operator++(int)
//
后置++重载
4.友元函数需要申明。
实现
*/
{
#includeiostream
countera=*this;
#includecmath
++(*this);
usingnamespacestd;
returna;
classcounter;
}
istreamoperator(istreamis,countera);
countercounter::operator--()
//
前置--重载
ostreamoperator(ostreamos,countera);
实现
classcounter
//
定义类counter
{
{
--P;
private:
return*this;
doubleP;
}
public:
countercounter::operator--(int)
//
后置--
counter(){}
//
无参结构函数
重载实现
counter(doublep):P(p){}
//
带参结构函
{
数
countera=*this;
counteroperator++();
//
重载前置++
--(*this);
counteroperator++(int);
//
重载后置++
returna;
counteroperator--();
//
重载前置--
}
counteroperator--(int);
//
重载后置--
istreamoperator(istream
in
文档评论(0)