下载此文档

C++程序设计05-程序的结构.ppt


文档分类:IT计算机 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
C++语言程序设计
第5讲: C++程序的结构
构造函数
class Clock {
public:
Clock() : hour(0), minute(0), second(0) {}
Clock(int NewH, int NewM=0, int NewS=0);
Clock(Clock& c);
private:
int hour; int minute; int second;
};
Clock::Clock(int NewH, int NewM, int NewS)
{
hour = NewH; minute = NewM; second = NewS;
}
Clock::Clock(Clock& c)
{
hour = ; minute = ; second = ;
}
相当于:Clock::Clock() { hour = minute = second = 0; }
拷贝构造函数
默认参数构造函数
析构函数
class Clock {
public:
Clock();
void SetTime (int, int, int);
void ShowTime();
~Clock(); // 析构函数
private:
int hour; int minute; int second;
char* pbuf;
};
Clock::Clock() { pbuf = new char[128]; }
Clock::~Clock() { delete[] pbuf; }
对象被删除的时刻自动调用
main()
{
Clock c; // 构造
(9,30,30);
} // 析构
构造函数可使每个对象都有正确的初始值
析构函数可使每个对象在结束时自动进行清理工作
析构函数的使用
一个类只能有一个析构函数,不允许重载!
最先析构的是自动变量;
静态对象的生命期一直到程序结束;(static)
全局对象是最后被析构的。
访问函数和工具函数
将类的函数分为两大类,访问函数和工具函数。
访问函数是供客户调用的,一般为public。
工具函数是为实现访问函数的某些功能而需要的函数,一般为private。
数据成员和成员函数的使用
数据一般设为私有成员,便于保护;
需要用户设置的私有数据成员用get和set提供给用户;
要保证私有数据成员在任何时候都是有效的。
接口与实现的分离
软件工程的一个最基本的原则:接口与实现分离
.
类的定义与类的实现分离
但是Java中类的定义与实现是在一起的,Why?
因为Java中有一个专门管接口的类叫Interface。这个类是公开的,而其他类则被屏蔽起来。
这种方式称为对象的“包装”或称“封装”。
public:, private: ( protected: ) 都是用来控制成员函数的作用。
类的客户可通过公有成员(public)知道类提供什么样的服务。
类的客户不能直接访问类的私有成员(private),它们只能通过成员函数(或友元)来访问。
C++提倡编写与实现无关的程序。在类定义中尽量避免写函数实现的代码。(也不是绝对的,只要觉得可以公开,并以后不会改动,则可以将实现写到类的定义中)
[注意]在理论上 public:, private: protected: 只使用一次。但现在C++编译器(如VC++)可支持多次。而在Java中每一个函数前面都要求加上这个说明符。
§ 控制对成员的访问
§ 软件的可重用性
面向对象的程序设计的一个重要目标就是软件的可重用性。
可重用性意味着以前的代码可以部分加以利用,并对其余部分改写,以免整个程序重新编写。
要实现可重用性,程序必须设计良好、具有较好的可读性,并预先把需要扩展部分考虑好。
函数原型(prototype)的作用域
函数原型中的参数,其作用域仅限于声明中。
例如,设有下列原型声明:
double Area(double radius);
radius 的作用域仅在于此,不能用于程序正文其他地方,因而可有可无。可以写成:
double Area(double);
double Area(double radius=5);
可简化成 double Area(double =5);
块作用域
在块中声明的标识符,其作用域自声明处起,限于块中,例如:
void fun(int a)
{ int b(a);
cin >> b;
if (b>0)
{
int c;
......
}
}
a 的作用域
b 的作用域
c 的作用域

C++程序设计05-程序的结构 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11
最近更新