- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C第四章类与对的象A
第四章 类与对象;本章主要内容;回顾:面向过程的设计方法;面向对象的方法;抽象;抽象实例——钟表;抽象实例——钟表类;抽象实例——人;封装;封装;继承与派生;多态性;c++中的类;类的声明形式;公有类型成员;私有类型成员;保护类型;类的成员;void Clock :: SetTime(int NewH, int NewM, int NewS)
{
Hour=NewH;
Minute=NewM;
Second=NewS;
}
void Clock :: ShowTime()
{
coutHour:Minute:Second;
};成员数据;成员函数;内联成员函数;内联成员函数举例(一);内联成员函数举例(二);inline void Point:: Init(int initX,int initY)
{
X=initX;
Y=initY;
}
inline int Point::GetX()
{
return X;
}
inline int Point::GetY()
{
return Y;
};对象;类中成员的访问方式;例4-1类的应用举例;构造函数;构造函数举例;构造函数的实现:
Clock::Clock(int NewH, int NewM, int NewS)
{
Hour= NewH;
Minute= NewM;
Second= NewS;
}
建立对象时构造函数的作用:
void main()
{
Clock c (0,0,0); //隐含调用构造函数,将初始值作为实参。
c.ShowTime();
};拷贝构造函数;例4-2 拷贝构造函数举例;Point::Point (Point p)
{
X=p.X;
Y=p.Y;
cout拷贝构造函数被调用endl;
};例4-2 拷贝构造函数举例;例4-2拷贝构造函数举例;拷贝构造函数(例4-2);拷贝构造函数;析构函数;构造函数和析构函数举例;Point::Point(int xx,int yy)
{ X=xx; Y=yy;
}
Point::~Point()
{
}
//...其它函数的实现略;类的应用举例(例4-3);#include iostream
using namespace std;
const float PI = 3.14159;
const float FencePrice = 35;
const float ConcretePrice = 20;
//声明类Circle 及其数据和方法
class Circle
{
private:
float radius;
public:
Circle(float r); //构造函数
float Circumference() const; //圆周长
float Area() const; //圆面积
};;// 类的实现
// 构造函数初始化数据成员radius
Circle::Circle(float r)
{radius=r}
// 计算圆的周长
float Circle::Circumference() const
{
return 2 * PI * radius;
}
// 计算圆的面积
float Circle::Area() const
{
return PI * radius * radius;
};void main ()
{
float radius;
float FenceCost, ConcreteCost;
// 提示用户输入半径
coutEnter the radius of the pool: ;
cinradius;
// 声明 Circle 对象
Circle Pool(radius);
Circle PoolRim(radius + 3); ;// 计算栅栏造价并输出
FenceCost = PoolRim.Circumference() * FencePrice;
cout Fencing Cost is ¥ FenceCost endl;
// 计算过道造价并输出
ConcreteCost = (PoolRim.Area() - Pool.Ar
文档评论(0)