当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 >  第6章 MFC基础知识 >  6-2 C++的基本知识 >  6-2-9 指针

返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表

6-2-9 指针在线视频

6-2-9 指针

下一节:6-2-10 类的继承

返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表

6-2-9 指针课程教案、知识点、字幕

this指针

this指针是指向一个类的对象的地址

this是一种隐含指针

它隐含于每个类的成员函数之中

也就是说

每个成员函数都有一个this指针变量

this指针指向该成员函数所属的类的对象

当定义一个类的对象时

该对象的成员均含有由系统自动产生的

指向当前对象的this指针

成员函数访问类中成员变量的格式就是

this指针

一个箭头

成员变量

请大家注意这个箭头不是键盘上的上下左右的箭头

而是一个“减”号和一个“大于”号

当一个对象调用成员函数时

该成员函数的this指针便指向这个对象

若不同的对象调用同一个成员函数

C++编译器将根据成员函数的this指针所指向的

不同对象类确定应引用哪一个对象的数据成员

也就是说

每一个对象都有一个地址

而this指针所指的就是这个地址

这个问题大家可以复习一下你们学习C语言的时候

有关指针那一章的内容

概念是一致的

和其他数据类型一样

程序中也可以定义指向类对象的指针

在定义了类的指针后

还必须为其分配内存才能使用

类对象的指针定义及分配内存空间的一般格式是这样的

我们用new关键字为这个类定义一个指针

指针的名字

这个也是类的名

下面的语句我们就是定义了类student对象指针

并为它分配内存

那这个类student这是一个student类

指针是student1指针

那就是new Student

要返回的指针就是student类的指针

当通过类对象的指针访问类的成员时

通常可以使用运算符

一横杠一个大于号 这个运算符

叫指向

例如下面的程序中

主函数通过指向类对象的指针调用类的成员函数

大家跟我一起看一下这个代码

在这里定义了一个类叫Class1

它的私有成员叫Value

它的公共成员

public部分有这些

这里有个Class1的函数

大家可以回忆一下前面介绍的构造函数

因为它的函数的名跟类的名字一致

所以这个Class1在这里就是构造函数

它有一个整型的参数int Val

然后Val值直接就赋给了这个Value

实际上就是构造函数大家知道是承担着初始化的任务

所以这时候就把Val对这个私有成员进行了初始化

而这个GetValue返回的值就是一个Value的值

那这是获取类对象成员变量的值

那我们接着往下看主函数

那定义了Class1的一个函数叫做Object1

给的值是三个8

然后定义了一个Class1类型的指针

那么这个指针是指向这个Class1类的对象

那这个时候这个指针跟Object1目前还没有关系

这个指针是指向Class1的对象

而这个Object1返回值的类型也是Class1的对象类型

所以我们就把这个函数的入口地址取出来

赋给这个p

那么这个指针就指向了Object1

那么这个指针GetValue实际上

因为我这个p指针已经指向了Object1

那么这个时候p.GetValue已经把Object1的参数

p的值已经指向这个参数了

然后就是把这个值赋了三个8的值return

通过GetValue来return

那初始化过程中呢

因为这个构造函数里面我们给了Val值

是对成员变量初始化

那么在这里它初始化的值呢

就是三个8

所以这时候我们调用了GetValue返回值

这个Val值就是三个8

这时候大家看到运行的结果是三个8

VC++面向对象与可视化程序设计(下):MFC编程基础课程列表:

第0章 课前讨论

-讨论实录

--0-0

第6章 MFC基础知识

-6-1 MFC概述

--6-1 MFC基础知识

-6-2 C++的基本知识

--6-2-1 类

--6-2-2 对象

--6-2-3 类的方法

--6-2-4 内联函数

--6-2-5 构造函数和析构函数

--6-2-6 重载

--6-2-7 友元函数

--6-2-8 友元类

--6-2-9 指针

--6-2-10 类的继承

--6-2-11 多态性和虚拟函数

-6-3 MFC类的组织结构及主要的类的简介

--6-3-1 MFC类的组织结构

--6-3-2 根类

--6-3-3 应用程序结构类

--6-3-4 可视对象类

--6-3-5 通用类

--6-3-6 OLE类

--6-3-7 ODBC数据库

-6-4 MFC中全局函数和全局变量

--6-4 MFC中全局函数和全局变量

第7章 Windows标准控件在可视化编程中的应用

-7-1 概述

--7-1-1

--7-1-2

-7-2 按钮控件及其应用

--128B12447816EEF99C33DC5901307461

-7-3 按钮控件及其应用

--7-3

-7-4 静态控件

--7-4

-7-5 列表框控件

--7-5-1

--7-5-2

-7-6 编辑框控件

--7-6

-7-7 组合框控件

--7-7

-7-8 对话框通用控件

--7-8-1

--7-8-2

-讲义源代码

--html

第8章 在MFC中创建应用程序的资源

-8-1&2 资源的应用以及菜单资源的使用

--8-1-1

--8-1-2

-8-3 快捷菜单的创建及其应用

--8-3

-8-4 加速键资源的创建及其使用

--8-4

-8-5 工具条资源的创建及其使用

--8-5

-8-6 字符串资源的使用

--8-6

-8-7 位图资源的创建及其使用

--8-7

-课堂示例源代码

--html

-第一次作业内容及要求

--html

--第一次作业及答题链接--作业

第9章 单文档与多文档

-9-1 概述

--9-1

-9-2 Doc/View框架的主要成员

--Video

-9-3 文档操作中的一些重要概念

--Video

-9-4 SDI编程实例

--Video

-9-5 MDI编程实例

--9-5-1

--9-5-2

-课堂示例源代码

--html

-第二次作业内容及要求

--html

--第二次作业及答题链接--作业

第10章 多媒体应用程序的设计

-10-1 利用音频函数实现多媒体程序设计

--10-1-1

--10-1-2

--10-1-3

--10-1-4

-10-2 利用Windows Media Player控件实现多媒体程序设计

--10-2

-课堂示例源代码

--html

第11章

-例11-1

--例1

-例11-2

--例11-2

-例11-3

--例11-3

-例11-4

--例11-4

-11-1 ODBC介绍与引用

--11-1

-课堂示例源代码

--html

第三次作业及答题链接

-第三次作业及答题链接

6-2-9 指针笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。