Visual C++ 程序设计 上机指导 第2章.doc

上传人:ni****g 文档编号:543781019 上传时间:2023-05-26 格式:DOC 页数:61 大小:891.50KB
返回 下载 相关 举报
Visual C++ 程序设计 上机指导 第2章.doc_第1页
第1页 / 共61页
Visual C++ 程序设计 上机指导 第2章.doc_第2页
第2页 / 共61页
Visual C++ 程序设计 上机指导 第2章.doc_第3页
第3页 / 共61页
Visual C++ 程序设计 上机指导 第2章.doc_第4页
第4页 / 共61页
Visual C++ 程序设计 上机指导 第2章.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《Visual C++ 程序设计 上机指导 第2章.doc》由会员分享,可在线阅读,更多相关《Visual C++ 程序设计 上机指导 第2章.doc(61页珍藏版)》请在金锄头文库上搜索。

1、第2章 面向对象程序设计121类和对象1211 目的与要求1212 建立项目1213 建立CPerson类(文件)1214 添加成员变量3216 添加成员函数5216 在主函数使用类7217成员初始化列表8218 使用静态成员1022 继承与多态15221 目的与要求15222 建立项目15223 建立公共抽象基类15224 建立派生类15224 实现多态1523 重载15231 目的与要求15232 建立项目15233 定义CDate类15234 定义变量15235 定义和实现SetDate()函数15236 定义和实现构造、析构函数15237 定义和实现ToString()函数15238

2、定义和实现操作符=重载15239 在CPerson类中应用CDate152310 修改主函数1524 模板15241 建立函数模板15242 使用类模板15第2章 面向对象程序设计内容与目的:建立几个与类有关的控制台项目。使我们对类、对象以及它们的使用,有一个最初步的认识。由于学习初期,我们对环境尚不熟悉,所以在前面关于工具的使用介绍的详细一些,后面,只是说明用什么工具干什么事,工具就不再介绍了。在242中关于类模板试验,可以在第3章讲完MFC类再完成。21类和对象211 目的与要求学会使用Visual C+ 6.0 建立和管理类。建立一个CPerson类,记录人员的姓名、性别和年龄将性别常量

3、类型,建立成员初始化列表在类中添加静态成员,记录当前对象实例数,声称对象标识上机前,请认真阅读,形成书面代码(特别是2.1.7和2.1.8)212 建立项目建立一个控制台项目,项目名称“Personal”,项目类型选择“简单应用程序(A Sample Application)”。查看项目有3个文件, StdAfx.h、StdAfx.cpp和Personal.cpp。StdAfx.h是预编译头文件,我们应该将系统头文件都包含在这里。Personal.cpp是这个项目的主文件,主函数main在其中,它是项目的入口。213 建立CPerson类(文件)建立一个对人员抽象数据类CPerson。1选取“

4、Insert”-“New Class”,如图2-1。图2-12在New Class对话框“Class information”的“Name”框中输入“CPerson”,如图2-2。如图2-23系统为我们添加了一个“CPerson”类,类视图和文件视图如图2-3。如图2-3214 添加成员变量为CPerson类 添加3个变量,如表2-1表2-1成员变量列表变量名数据类型访问类型意义m_szNamechar*Protected保存人员的姓名m_bSexboolProtected性别标志 true=男,false=女m_nAgeshortProtected保存人员的年龄1 在类“CPerson”上单

5、击右键,弹出快捷菜单,选取“Add Member Variable”菜单项,如图2-4,弹出添加成员变量对话框如图2-5。图2-4图2-52 在变量类型处填写“char*”,在变量名处填写“m_szName”,选择访问类型为“Protected”。点击“OK”按钮,完成变量“m_szName”的建立。如图2-5所示。3 重复1、2分别完成变量“m_bSex”和“m_nAge”的建立。完成以上步骤后的CPerson类如图2-6所示。关于添加成员变量对话框: 该对话框是类管理工具的一部分,用于向当前类中添加成员变量。“Variable Type”指的是成员变量的数据类型,它可以是任意一种C+,Wi

6、ndows或程序中程序员定义的数据类型(类、结构等等)。“Variable Name”指的是成员变量的名称,按照成员变量的命名规则,一般以“m_”作为变量名前缀,部分数据类型变量命名前缀请参考表2-2。“Access”指的是数据访问类型。一般选择“Potected”既可以防止从对象外部直接访问,又可以作为派生类的成员变量继续使用。定义类成员变量之前,应该充分规划好,包括他们的名称、数据类型、访问类型以及用途等等。列出一个如表2-1一样的成员变量列表,供定义成员变量时参考。定义类成员变量时,应该将同一访问类型的成员变量连续添加完毕后,再去添加另一访问类型的成员变量,以免造成太多的访问类型说明,给

7、阅读带来麻烦。图2-6表2-2 部分变量名前缀前缀意义aArray 数组bBOOL (int) 布尔值byUnsigned Char (byte) 无符号8位整数cChar 字符(8位整数)cbCount of bytes无符号8位整数的计数器cxCount of x (short) 对象x计数器g_Global 全局变量iInteger 整数lLong 长整数lpLong pointer 长指针m_Data member of a class 类成员数据nShort int 短整数pPointer 指针szZero terminated String 以零结尾的字串uUnsigned int

8、 无符号整数ulUnsigned long (ULONG) 无符号长整数216 添加成员函数1添加成员函数添加两个成员函数,如表2-3表2-3成员函数列表函数名类型访问模式参数功能SetDatevoidPublicchar* szName设置成员数据bool bSexshort nAgeDisplayvoidPublic无显示数据成员1) 类“CPerson”上单击右键,弹出快捷菜单,选取“Add Member Function”菜单项。弹出添加成员变量对话框如图2-7图2-72) 数类型(Fuction Type)处填写函数的类型,这里填写void。3) 函数声明(Function Decl

9、aration)处填写函数名称、形参名称和类型,这里填写SetDate(char *sz_Name, bool bSex, short nAge)。4) 访问(Access)类型选择“Public”。5) 点击“OK”按钮,完成构造成员函数SetDate()的建立。6) 重复以上1)到5),完成成员函数Display()的建立。完成以上步骤后的CPerson类如图2-8所示。图2-8关于添加成员函数对话框: 该对话框是类管理工具的一部分,用于向当前类中添加成员函数。“Function Type”指的是成员函数的类型,它可以是任意一种C+,Windows或程序中程序员定义的数据类型(类、结构等等

10、)。“Function Declaration”指的是成员函数的声明,包括形参的类型和名称列表。“Access”指的是成员函数的访问类型,根据需要可选择不同访问类型。还可以对函数声明为静态(Static)成员函数和虚拟(Virtual)成员函数。定义成员函数之前也应该充分规划好,包括函数类型、函数访问类型、形参列表和功能描述等等,如表2-3。供定义成员函数时参考。同样应该将同一访问类型的成员函数一次性定义完成。不要造成太多的访问类型说明。2实现成员函数下面我们着手实现成员函数的函数体。1) 双击类视图上的成员函数SetDate (char *szName, bool bSex, short n

11、Age),使光标移至该函数处。2) 添加程序行如下:m_szName = szName;m_bSex = bSex;m_nAge = nAge;3) 双击类视图上的成员函数Display(),使光标移至该函数处。4) 添加程序行如下:char *sex = m_bSex? 男 : 女 ;cout姓名:m_szNamet;cout性别: sex t;cout年龄:m_nAgeendl;3包含系统头文件在成员函数Display()中用到流操作符“”,该操作符定义在头文件“iostream.h”中。为了使用这个操作符,必须将头文件“iostream.h”包含到项目中。stdafx.h是预编译头文件,

12、所有的实现文件都必须包含着个头文件,所以我们应该将iostream.h包含到该头文件中。如下:#include 注意:我们应该将用到的系统头文件都包含到stdafx.h,这样不管是在实现文件中或头文件中引用系统函数和变量什么的,都不用再包含系统头文件了。编译器搜索头文件的路径:用尖括号()包含的头文件,指的是系统头文件,编译器会搜索每一个系统目录,查找该头文件。而以双引号(” ”) 包含的头文件,指的是本地头文件, 编译器会先在项目所在目录下查找该头文件,如果找不到编译器会搜索每一个系统目录,查找该头文件。所以, 双引号可以代替尖括号,如尖括号代替不了双引号。216 在主函数使用类从上面可以看

13、出,CPerson类是人员封装的数据类型,一个CPerson类对象,就代表一个人员的抽象数据。CPerson类还有一个用来显示成员数据的函数Display()。我们要在主文件中定义3个CPerson类对象,并调用它们的Display方法,显示每一个对象。做法如下:1 在主文件中包含头文件Person.h在主文件Personal.cpp中,加入程序行#include Person.h2 类对象的实现在主文件的主函数main()加入定义类对象和现实类对象的程序行CPerson person1,person2,person3;person1.SetDate(石破天,1,20);person2.Set

14、Date(石中玉,1,20);person3.SetDate(丁丁当当,0,18);person1.Display();person2.Display();person3.Display();完整的主文件如图2-9所示。图2-9注意:任何包含其他头文件的程序行,都必须写在包含头文件stdafx.h程序行的后面,否则程序将无法编译通过。3 编译并运行程序按动“F7”编译程序,“Ctrl + F5”运行程序,结果如图2-10图2-10217成员初始化列表在现实世界中,有很多数据一旦定下来后,是不允许改变的。类中着一样的成员数据,被称作常量数据。这样的数据只有在对象构建的时候初始化赋值,其他的时候它们是只读。这就需要用初始化列表对常量成员进行赋值,而要使用参数构建类对象,就必须调用类的重载构造函数。所以,首先我们先要看一下函数的重载本案中的性别属性就属于这种情况,下面是围绕将成员变量m_bSex变成常量类型,并用初始化列表对其赋值的过程。1定义一个重载构造函

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号