- 6
- 0
- 约5.15千字
- 约 7页
- 2020-10-23 发布于江苏
- 举报
第五讲:类的成员、对象成员的引用
本讲基本要求
掌握:类成员函数的性质、定义及存贮方式。对象成员三种引用方式,。
理解:类函数、作用域运算符、inline 成员函数的概念。
重点、难点:类成员函数的性质、定义、存贮方式及引用;对象成员三种
引用方式。
一、 类的成员函数 (成员数据、成员函数与全局函数) (成员函数的性质、定
义)
1、成员函数的性质
1、类的成员函数(简称类函数)是函数的一种,它也有返回值和函数类型,
它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被
指定为 private(私有的)、public(公用的)或 protected(受保护的)。
2、在使用类函数时,要注意调用它的权限 (它能否被调用)以及它的作用域
(函数能使用什么范围中的数据和函数)。成员函数可以访问本类中任何成员(包
括私有的和公用的),可以引用在本作用域中有效的数据。
3、一般的做法是将需要被外界调用的成员函数指定为 public,它们是类的
对外接口。
4、类的成员函数是类体中十分重要的部分。如果一个类中不包含成员函
数,就等同于 C 语言中的结构体了,体现不出类在面向对象程序设计中的作用。
2、在类外定义成员函数
前面看到的成员函数是在类体中定义的。也可以在类体中只写成员函数的声
明,而在类的外面进行函数定义。如:
class Student
{ public:
void display(); //公用成员函数原型声明
private:
int num;
string name;
char sex; //以上 3 行是私有数据成员
};
void Student::display() //在类外定义 display 类函数
{ coutnum:numendl;//函数体
coutname:nameendl;
coutsex:sexendl;}
Student stud1,stud2; //定义两个类对象
说明:
1、但成员函数在类外定义时,必须在函数名前面加上类名,予以限定
(Qualifed), “::”是作用域限定符 (field qualifier)或称作用域运算符,
用它声明函数是属于哪个类的。
(a)Student::display();(b)没有 “Student::”的限定、 “::”
如 ::display() 或 display()
2、类函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的
位置应在函数定义之前 (如上面所示的那样),否则编译时会出错。
3、在类的内部对成员函数作声明,而在类体外定义成员函数,这是程序设
计的一种良好习惯。
3、inline 成员函数(类内置成员函数)
类的成员函数也可以指定为内置 (inline)函数。
问题提出: 在类体中定义的成员函数的规模一般都很小,而系统调用函
数的过程所花费的时间开销相对是比较大的。调用一个函数的时间开销远远大于
小规模函数体中全部语句的执行时间。
解决办法:为了减少时间开销,如果在类体中定义的成员函数中不包括循
环等控制结构,C++系统会自动将它们作为内置(inline)函数来处理。也就是说,
在程序 (对象)调用这些成员函数时,并不是真正地执行函数的调用过程 (如保
留返回地址等处理),而是把函数代码嵌入程序的调用点。这样可以大大减少调
用成员函数的时间开销。 (程序调用,不占对象物理内存)
定义方法:C++要求对一般的内置函数要用关键字 inline 声明,但对类内
定义的成员函数,可以省略 inline,因为这些成员函数已被隐含地指定为内置
函数。
例如:
class Student
{ public:
void display()//也可以写成: inline void display()
{ coutnum:numendl;
coutname:nameendl;
coutsex:sexendl;
}
private:
int num;
您可能关注的文档
最近下载
- 2025年加州驾照常考题库及答案.doc VIP
- 欧洲规范-NF P94-093-中文版.pdf VIP
- 欧洲规范-NF P94-078-中文版.pdf VIP
- SY_T 5333-2023 钻井工程设计规范.pdf VIP
- 深度解析(2026)《SYT 5946-2019钻井液用包被抑制剂 聚丙烯酰胺钾盐》.pptx VIP
- 卧式储罐体积容积计算(带公式).xls VIP
- 深度解析(2026)《SYT 5661-2019钻井液用增粘剂 丙烯酰胺类聚合物》.pptx VIP
- SY_T 5061-2020 钻井液用石灰石粉.docx VIP
- 深度解析(2026)《SYT 5677-2019钻井液用滤纸》.pptx VIP
- ICU常用药物中英文对照一览表.doc VIP
原创力文档

文档评论(0)