《C++语言基础教程》课程电子教案(PPT教学课件)第6章 类和对象(二)

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 第6章类和对象
第6章 类和对象(二)

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 61对象指针和对象引用 1.指向类的成员的指针 (1)指向类的数据成员的指针 ①定义格式 〈类型〉〈类名〉∷〈指针名〉|=〈初值〉J ②赋值方法 〈指针名〉=&〈类名〉∴〈数据成员名〉;
6.1 对象指针和对象引用 1. 指向类的成员的指针 (1) 指向类的数据成员的指针 ① 定义格式 〈类型〉〈类名〉∷*〈指针名〉[=〈初值〉]; ② 赋值方法 〈指针名〉=&〈类名〉∷〈数据成员名〉;

清华大学出版社 000000 ③引用方法 TSINGHUA UNIVERSITY PRESS 使用类的对象引用时,〈对象名〉.*〈指针名 使用对象指针引用时,〈对象指针名〉->*〈指针名 例如, class publie int fun (int b) Breturn a*c+b A(int 1) {a=i;} int c private int a:
③ 引用方法 使用类的对象引用时, 〈对象名〉.*〈指针名〉 使用对象指针引用时, 〈对象指针名〉->*〈指针名〉 例如, class A { publie: int fun(int b) {return a*c+b;} A(int i) {a=i;} int c; private: int a; }

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 定义一个指向类A的数据成员c的指针pc,其格式如下: intA∴:*pc=&A∴c; 使用类A对象给pc所指向的数据成员c赋值,其格式如下 aa a. pc=10 使用指向类A对象指针p给pc所指向的数据成员c赋值,其格式 如下 aa A“p=&a; p>pc=10:
定义一个指向类A的数据成员c的指针pc,其格式如下: int A ∷ *pc=&A ∷ c; 使用类A对象给pc所指向的数据成员c赋值,其格式如下: A a; a.*pc=10; 使用指向类A对象指针p给pc所指向的数据成员c赋值,其格式 如下: A a; A *p=&a; p->*pc=10;

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (2)指向类的成员函数的指针 ①定义格式 〈类型〉(〈类名〉∷*〈指向成员函数的指针名〉)(〈参数 表〉); ②赋值方法 〈指向函数的指针名〉=〈类名〉∷〈函数名〉; ③引用方法 使用类的对象引用时, (〈对象名〉·*〈指向成员函数的指针名〉)(〈参数表〉); 使用类的对象指针引用时, (〈对象指针名〉→*〈指向成员函数的指针名〉)(〈参数表));
(2) 指向类的成员函数的指针 ① 定义格式 〈类型〉(〈类名〉∷*〈指向成员函数的指针名〉)(〈参数 表〉); ② 赋值方法 〈指向函数的指针名〉=〈类名〉∷〈函数名〉; ③ 引用方法 使用类的对象引用时, (〈对象名〉·*〈指向成员函数的指针名〉)(〈参数表〉); 使用类的对象指针引用时, (〈对象指针名〉->*〈指向成员函数的指针名〉)(〈参数表〉);

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 在上例类A中,定义一个指向成员函数unO的指针pfu,其 格式如下 int(A∴:*pfun)(int) 给指向成员函数的指针pfun赋值,其格式如下: pfun=A∴fun; 使用类A对象通过pfun调用它所指向的成员函数的格式如下 a a (a "fun)(5); 使用指向类A对象的指针通过pfu调用它所指向的成员函数的 格式如下: a a a*p=&a (p->pfun)(5); 参见[例61]
在上例类A中,定义一个指向成员函数fun( )的指针pfun,其 格式如下: int(A∷*pfun) (int); 给指向成员函数的指针pfun赋值,其格式如下: pfun=A∷fun; 使用类A对象通过pfun调用它所指向的成员函数的格式如下: A a; (a.*pfun) (5); 使用指向类A对象的指针通过pfun调用它所指向的成员函数的 格式如下: A a; A *p=&a (p->*pfun) (5); 参见[例6.1]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 2.对象指针 (1)对象指针的定义和赋值 已知对象a是类A的一个对象,pa是一个指向对象a的指针, 定义如下: A a; A *pa=&a (2)对象指针可作函数参数和返回值 参见[例62]。 3.对象引用 1)对象引用的定义和赋值 已知对象引用r是类A的一个对象a的引用,其说明格式如下: Aaa&ra=a (2)对象引用可作函数参数及返回值 参见[例63]
2. 对象指针 (1) 对象指针的定义和赋值 已知对象a是类A的一个对象,pa是一个指向对象a的指针, 定义如下: A a;A *pa=&a; (2) 对象指针可作函数参数和返回值 参见[例6.2]。 3. 对象引用 (1) 对象引用的定义和赋值 已知对象引用ra是类A的一个对象a的引用,其说明格式如下: A a;A &ra=a; (2) 对象引用可作函数参数及返回值 参见[例6.3]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 4.this指针 (1)this指针的特点 this指针是一种系统自动创建的指向当前对象的指针。当使用 对象调用一个成员函数时,系统将创建this指向该对象。 this指针通常被隐含使用,有时也被显式使用。 2)ths指针的应用 参见[例64]
4. this指针 (1) this指针的特点 this指针是一种系统自动创建的指向当前对象的指针。当使用 对象调用一个成员函数时,系统将创建this指向该对象。 this指针通常被隐含使用,有时也被显式使用。 (2) this指针的应用 参见[例6.4]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 62对象数组和对象指针数组 1.对象数组 (1)定义格式 〈类名〉〈数组名〉[〈大小〉 (2)对象数组的值 对象数组可以被赋初值,也可以被赋值。对象数组的每个元 素都是同一类的对象值。 参见[例65]
6.2 对象数组和对象指针数组 1. 对象数组 (1) 定义格式 〈类名〉〈数组名〉[〈大小〉] … (2) 对象数组的值 对象数组可以被赋初值,也可以被赋值。对象数组的每个元 素都是同一类的对象值。 参见[例6.5]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 2.对象指针数组 (1)定义格式 〈类名〉*〈数组名〉[(大小〉 2)对象指针数组的值 对象指针数组的每个元素都是指向同一个类的对象指针,可 以给它赋初值,也可以给它赋值。其值为对象的地址值。 参见[例69]
2. 对象指针数组 (1) 定义格式 〈类名〉*〈数组名〉[〈大小〉]… (2) 对象指针数组的值 对象指针数组的每个元素都是指向同一个类的对象指针,可 以给它赋初值,也可以给它赋值。其值为对象的地址值。 参见[例6.9]
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言基础教程》课程电子教案(PPT教学课件)第5章 类和对象(一).ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第4章 函数和作用域.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第3章 语句.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第2章 数据类型和表达式.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第1章 C++语言概述.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第9章 C++的I/O流类库.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第8章 多态性和虚函数.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第7章 继承性和派生类.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第一章 绘图基础知识(刘军安).ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第五章 线型、颜色及图层.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第八章 标注文字.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第十章 使用块、外部参照和设计中心.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第十一章 绘制基本三维对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第三章 编辑图形对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第七章 控制图形显示.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第六章 绘制面域与图案填充.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第九章 标注图形尺寸.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第二章 绘制二维图形对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第四章 使用绘图辅助工具.ppt
- 华为技术有限公司:胶片制作图标库.ppt
- 《软件工程》课程学习资料:软件工程思想(林锐).pdf
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Introduction(主讲:曹天杰).ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-AES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-DES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-L&D.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)CRYPTO12.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Digital Signature.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)HashFunctions.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Lecture 3 Number Theory Basics I.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)NTHEORY 2 Group Theory and Number.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Attacks, Services, and Mechanisms.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)overview.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography1.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography2.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)security protocols.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)前言.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第1章 操作系统概论.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)第2章 Linux概述.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)Linux程序设计简介.ppt
- 《操作系统原理》课程教学资源(PPT课件讲稿)(英文版)Linux Development Environment.ppt