- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计第05章程序结构
第五章 C++程序的结构;本章主要内容;函数原形的作用域;块作用域;类X的成员M具有类作用域,对M的访问方式如下:
如果在X的成员函数中没有声明同名的局部作用域标识符,那么在该函数内可以直接访问成员M。
通过表达式x.M访问。
(x是类X的对象,M是类X公有数据成员)
通过表达式prt-M。
(prt是X类的指针变量);#includeiostream
using namespace std;
class Clock
{ public:
void SetTime(int NewH, int NewM,int NewS);
public:
int Hour,Minute,Second;
} ;
void Clock::SetTime(int NewH, int NewM, int NewS)
{
Hour=NewH;
Minute=NewM;
Second=NewS;
};void main()
{
Clock myClock,*prt;
prt=myClock;
myClock.SetTime(12,30,30);
coutmyClock.Hourends
myClock.Minuteends
myClock.Secondendl;
coutprt-Hourends
prt-Minuteends
prt-Secondendl;
};文件作用域;作用域与可见性;可见性;标识符应声明在先,引用在后。
如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。
对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。;同一作用域中的同名标识符;#includeiostream
using namespace std;
class A1
{ public:
A1(int ,int);
int getX();
int getY();
private:
int x,y;
};
A1::A1(int a,int b) {x=a;y=b;}
int A1::getX() {return x;}
int A1::getY() {return y;};A1 a1(4,5);
void output()
{ couta1.getX()endsa1.getY()endl;
}
void main()
{A1 a1(2,3);
couta1.getX()endsa1.getY()endl;
output();
};对象的生存期;这种生存期与程序的运行期相同。
在文件作用域中声明的对象具有这种生存期。
在函数内部声明静态生存期对象,要冠以关键字static 。
;对象的生存期;运行结果:;动态生存期;#includeiostream.h
void fun();
void main()
{ fun();
fun();
}
void fun()
{ static int a=1;
int i=5;
a++;
i++;
couti=i,a=aendl;
};例5-2 变量的生存期与可见性;void other(void)
{
static int a=2;
static int b;
// a,b为静态局部变量,具有全局寿命,局部可见。
//只第一次进入函数时被初始化。
int c=10; // C为局部变量,具有动态生存期,
//每次进入函数时都初始化。
a=a+2; i=i+32; c=c+5;
cout---OTHER---\n;
couti:ia:ab:b c: cendl;
b=a;
};运行结果:
---MAIN---
i: 1 a: 0 b: -10 c: 0
---OTHER---
i: 33 a: 4 b: 0 c: 15
---MAIN---
i: 33 a: 0 b: -10 c: 8
---OTHER---
i: 75 a: 6 b: 4 c: 15;例5-3;//时钟类成员函数实现
Clock::Clock( ) //构造函数
{ Hour=0;
Minute=0;
Second=0;
}
void Clock::SetTime(int NewH,int NewM,int NewS)
{ Hour=NewH;
Minute=NewM;
Second=NewS;
}
void Cloc
您可能关注的文档
- 2013年《高考风向标》高考英语一轮复习_第一部分_选修六_unit_3___a_healthy_life.ppt
- 2013年全国高考英语试题与答案-四川卷 (word 版,附答案).doc
- 2013年六级作文与翻译.doc
- 2013年外研英语选修8:Module4SectionⅣ.ppt
- 2013年秋八年级英语上册复习unit1.ppt
- 2013河南六市第二次联考英语试题与答案.doc
- 2013河北省英语中考试题与答案.doc
- 20140319非甾体抗炎药合理应用(定稿).doc
- 2013高考英语二轮复习精品 第二部分 能力技巧板块 专题二 阅读理解(.ppt
- 2014九年级英语Unit 12section B.ppt
文档评论(0)