- 25
- 0
- 约4.65千字
- 约 13页
- 2018-01-03 发布于河南
- 举报
第五章C程序的基本结构
第五章 C++程序的基本结构
第 五 章 C++程序的基本结构
5-1 什么叫做作用域?有哪几种类型的作用域?
解:
作用域讨论的是标识符的有效范围,作用域是一个标识符在程序正文中有效的区域。C++的作用域分为函数原形作用域、块作用域(局部作用域)、类作用域和文件作用域.
5-2 什么叫做可见性?可见性的一般规则是什么?
解:
可见性是标识符是否可以引用的问题;
可见性的一般规则是:标识符要声明在前,引用在后,在同一作用域中,不能声明同名的标识符。对于在不同的作用域声明的标识符,遵循的原则是:若有两个或多个具有包含关系的作用域,外层声明的标识符如果在内层没有声明同名标识符时仍可见,如果内层声明了同名标识符则外层标识符不可见。
5-3 下面的程序的运行结果是什么,实际运行一下,看看与你的设想有何不同。
#include iostream.h
void myFunction();
int x = 5, y = 7;
int main()
{
cout x from main: x \n;
cout y from main: y \n\n;
myFunction();
cout Back from myFunction!\n\n;
cout x from main: x \n;
cout y from main: y \n;
return 0;
}
void myFunction()
{
int y = 10;
cout x from myFunction: x \n;
cout y from myFunction: y \n\n;
}
解:
程序运行输出:
x from main: 5
y from main: 7
x from myFunction: 5
y from myFunction: 10
Back from myFunction!
x from main: 5
y from main: 7
5-4 假设有两个无关系的类Engine和Fuel,使用时,怎样允许Fuel成员访问Engine中的私有和保护的成员?
解:
源程序:
class fuel;
class engine
{
friend class fuel;
private;
int powerlevel;
public;
engine(){ powerLevel = 0;}
void engine_fn(fuel f);
};
class fuel
{
friend class engine;
private;
int fuelLevel;
public:
fuel(){ fuelLevel = 0;}
void fuel_fn( engine e);
};
5-5 什么叫做静态数据成员?它有何特点?
解:
类的静态数据成员是类的数据成员的一种特例,采用static关键字来声明。对于类的普通数据成员,每一个类的对象都拥有一个拷贝,就是说每个对象的同名数据成员可以分别存储不同的数值,这也是保证对象拥有自身区别于其它对象的特征的需要,但是静态数据成员,每个类只要一个拷贝,由所有该类的对象共同维护和使用,这个共同维护、使用也就实现了同一类的不同对象之间的数据共享。
5-6 什么叫做静态函数成员?它有何特点?
解:
使用static关键字声明的函数成员是静态的,静态函数成员属于整个类,同一个类的所有对象共同维护,为这些对象所共享。静态函数成员具有以下两个方面的好处,一是由于静态成员函数只能直接访问同一个类的静态数据成员,可以保证不会对该类的其余数据成员造成负面影响;二是同一个类只维护一个静态函数成员的拷贝,节约了系统的开销,提高程序的运行效率。
5-7 定义一个Cat类,拥有静态数据成员HowManyCats,记录Cat的个体数目;静态成员函数GetHowMany(),存取HowManyCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。
解:
源程序:
#include iostream.h
class Cat
{
public:
Cat(int age):itsAge(age){HowManyCats++; }
virtual ~Cat() { HowManyCats--; }
virtual int GetAge() { return itsAge; }
virtual void SetAge(int age) { itsAge = age; }
static int GetHowMany() { return HowManyCats; }
private:
int itsAge;
static int HowManyCats;
};
int Cat::H
您可能关注的文档
最近下载
- 【基恩士】CZ-V21A(P)_V22A(P) 使用说明书 (简体中文).pdf VIP
- 座谈会议记录模板.docx VIP
- 重难点28:解三角形之基础方法技巧类题型归纳(九大题型总结)(培优固本提能讲义)(学生版).docx
- 石家庄市2026届高三11月教学质量摸底检测 政治试卷(含答案)原卷.pdf
- 四级词汇表(乱序版).pdf VIP
- 电力工程专业设计工日定额光纤通信工程部分.docx VIP
- 《电子世界》1986-06.pdf VIP
- 基于“区域-港口-货流”视角下世界集装箱海运网络复杂性解析与策略研究.docx
- 1_曲煒四柱信息取象完整版.pdf VIP
- 2025春新版四年级数学口算题1200道.pdf VIP
原创力文档

文档评论(0)