当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 > 第6章 MFC基础知识 > 6-2 C++的基本知识 > 6-2-3 类的方法
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表
类的方法是什么
在C++中通常也把类的成员函数称为类的方法
成员函数的原型一般在类的定义中声明
它语法与声明普通的函数所用的语法完全一致
方法的具体实现可以在类的定义内部完成
这种方式定义的类的方法有时也称为类的内联函数
我们后面会介绍
也可以在类的定义之外进行
方法的具体实现既可以和类的定义放在同一个源文件中
也可以放在不同的源文件中
方法的具体实现和普通函数的具体实现
只是在函数的头部有略微不同的格式
一般来说
如果类的方法的定义是在类的外部实现的
则在定义方法时必须把类名放在方法名之前
中间用作用域符号
这个作用域符号实际上就是连在一起的两个冒号
我们称之为作用域运算符
用这个作用域运算符隔开
这样即使几个类中的方法名相同
由于它分属于不同的类
类的名是不同的
用这种方法也可以把它们分开
下面的程序就是实现在程序中定义一个名字为angle的类
在这里面第一行这是系统自动给你生成的
这一行的话呢是IO流
这个是嵌入函数符
由于我们现在运行的是C++的程序
我们要写入这句话叫using
这里有个namespace命名空间
我们命名空间用的是std
是标准命名空间
所以这个大家可能是
如果没有学过C++的话呢
今天是第一次接触到
所以我给大家说
这个是系统生成的
这一句和这一句是自己要写上的
至于mathematics这个库的问题
那是根据你的需要
这里定义了一个整型量
是一个double的类型的数
角度转弧度的一个系数
就是定义了弧度跟角度之间的转换系数
有时候我们也称为转换比例
然后我们在这里定义了一个类叫angle
angle里面有一个double类型的成员value
这个成员实际上就是私有数据成员
因为我们private没有写
就是缺省
后面定义了angle类的公共成员public
public里面实际上只有两个函数原型
一个是SetValue
另外一个是GetSine
然后定义了angle类的对象deg
那我们这里就可以看到
类名这里是两个冒号
作用域运算符
SetValue这函数名
这里一个函数变量叫a
是double类型的
把这个a的值赋给了这个value
而这个value是什么
是它的私有成员
我们又定义了第二个函数GetSine
GetSine这里定义了一个temp
double类型变量
然后我们是把刚才这个value值与这个系数相乘
这个系数就是弧度与角度之间的转换系数
因为大家知道求sin多少的值
实际上这里的参数应该是弧度
而不是度
那我们下面来看主函数
首先看deg.SetValue
deg是什么
deg是这个angle类的对象
angle类对象SetValue
就是这个对象调它的公共成员函数
给它一个值
double的值
这个double的值就是60
实际上就是把60度这个值赋给了SetValue
那SetValue
赋给SetValue后
SetValue把这个60度60的值给了谁呢
赋给了变量a
而a给了谁呢
a给了value
那实际上就是给这个value的值赋了60度这个值
然后这里面cout
这个双引号里面是原样打印的没问题了
这里这一行的代码的功能就是输出这个字符串
这个是C++的输出格式
用cout
这是endl
就是输出结束
那这一行就输出结束了
然后第二行就cout
cout输出内容是什么
是deg.GetSine
deg那就是deg这个对象
GetSine里面我这里有一个temp
而这个value是私有成员
公共成员函数是可以调用value值的
所以value的值就可以用到这儿
再乘以系数
求这个sin
把结果赋给temp
然后return temp呢
就把temp的值return到这个地方来
所以这样输出的值也就是这个temp的值
也就是这个sin的值
那这样的话就把sin60°的值给求出来了
我们把刚才那个程序给大家运行一下
我们仍然用VC++32位控制台的应用程序
名字我们可以给它取6-1
大家看到这个这句是系统已经加上的
其他的
我们可以先给它去掉
除了第一行是系统直接生成的之外
后面的都是我们输进去的
这个代码都给大家前面在ppt里面已经介绍过了
大家看到在这里面呢
这个class定义了一个class angle
这个关键字都有蓝色的颜色显示
所以这样的话大家在编写程序的过程中的话
只要能识别这些关键字
基本上这个程序是不容易出错的
我下面给大家运行一下这个程序
好编译通过
这就是我们运行的结果
也就是大家刚才在ppt里面看到的结果
-讨论实录
--0-0
-6-1 MFC概述
-6-2 C++的基本知识
--6-2-1 类
--6-2-2 对象
--6-2-6 重载
--6-2-9 指针
-6-3 MFC类的组织结构及主要的类的简介
--6-3-2 根类
-6-4 MFC中全局函数和全局变量
-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-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-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-1 利用音频函数实现多媒体程序设计
--10-1-1
--10-1-2
--10-1-3
--10-1-4
-10-2 利用Windows Media Player控件实现多媒体程序设计
--10-2
-课堂示例源代码
--html
-例11-1
--例1
-例11-2
--例11-2
-例11-3
--例11-3
-例11-4
--例11-4
-11-1 ODBC介绍与引用
--11-1
-课堂示例源代码
--html
-第三次作业及答题链接