1、 模板。包括:函数模板、类模板,练习编制函数模板和类模板。 熟悉面向对象编程思想和多文件编程规范。 掌握公有继承的赋值兼容性规则、构造函数、复制构造函数和析构函数的设计方法。 练习使用向量解决实际问题。 熟悉各类运算符的重载。 熟悉使用文件的基本方法。 熟悉继承和包含以及虚函数的多态性。六、参考书目1.刘振安主编,C+程序设计,机械工业出版社2008年2. 薛万鹏 译,C+程序设计教程,机械工业出版社,2005年 3. 钱能,C+程序设计教程,清华大学出版社,2006年2 C+程序设计上机考核指导C+语言程序设计是一门实践性很强的课程,必须通过反复上机练习,深入领悟面向对象程序设计的基本思想。
2、通过实验教学加深理解和巩固课堂和教材所学的内容,提高实践动手能力。实验一 Microsoft Visual C+ 6.0集成开发环境的使用一、实验目的与要求了解并初步掌握Microsoft Visual C+ 6.0集成开发环境的使用。二、实验内容(1) 创建项目(Project) 启动VC+ 6.0。 从主菜单中选择【文件】|【新建】命令,打开【新建】对话框。单击【工程】标签,从项目列表中单击Win32 Console Application 选项;在【工程】文本框中输入项目的名字,如“hello”,系统将自动为用户的项目分配一个默认的目录. 如果是Visual C+ 6.0,系统将显示一个
3、询问项目类型的程序向导,选择an emptyproject 选项,单击【完成】按钮,显示新建项目信息;单击【确定】按钮结束。(2) 添加程序代码 在【新建】对话框中打开【文件】选项卡,单击+ Source File 选项,建立源文件;选中“添加工程”复选框;在右边的“文件”文本框中为文件指定一个名字,如“hello”。 编辑源文件。在【工作区】窗口中单击FileView 标签,选择并打开该窗口中SourceFiles 下的文件, 如hello.cpp,在打开的【文件】窗口中输入源程序。 在项目文件中增加文件。若在已有的项目文件中增加一个新文件,如C+源文件“*.cpp”或头文件“*.h”需要执
4、行以下操作。打开相应的项目文件,选择【新建】|【文件】命令,选择C+编辑栏Source 选项,可增加C+源文件;或选择C/C+ Head File 选项增加C/C+头文件。在【文件】文本框输入文件名,单击【确定】按钮。(3) 编译源文件先激活相应的源程序窗口,选择【编译】|【编译】命令或按Ctrl+F7 键来编译源文件,形成目标文件(生成.obj 文件),若该项目中有多个源文件,可依次激活并编译。(4) 链接目标程序,形成可执行文件选择【编译】|【链接】命令或按快捷键F7 链接程序,并形成可执行文件。此命令也可直接将项目中的所有源文件进行编译并链接形成可执行文件,使编译和链接的过程结合在一起。
5、(5) 运行程序选择【编译】|【执行】命令或使用快捷键Ctrl+F5 运行该程序,将显示一个类似于DOS的窗口,在窗口中第一行输出 “hello,world!”,第二行输出“Press any key to continue”,提示用户按任意键回到开发环境。三、程序练习定义一个关于日期的类,然后声明对象,判断该日期是否为闰年并输出。本题练习的是定义类和使用类的方法。源程序代码:#include iostream using namespace std;class TDatepublic: void SetDate(int y,int m,int d); int isLeapYear(); vo
6、id Print();private: int year,month,day;void TDate:SetDate(int y,int m,int d) year=y; month=m; day=d;int TDate:isLeapYear() return (year%4=0&year%100!=0) | (year%400=0);Print() coutyear.monthdayendl;void main() TDate date1,date2; date1.SetDate(2004,5,4); date2.SetDate(2005,4,9); int leap=date1.isLeap
7、Year(); date1.Print(); if (leap=1) cout是闰年! else不是闰年! date2.Print(); leap=date2.isLeapYear(); if (leap=1)四、实验要求按要求编写实验程序,将实验程序调试运行,写出程序的运行结果,并提交实验报告,写出调试运行的分析和体会。实验二 类和对象的使用一、 实验目的和要求 (1)熟悉类的定义格式和类中成员的访问权限。(2)掌握对象的定义方法以及对象的初始化和赋值的操作。(3)掌握构造函数和析构函数的使用。1. 编写一个程序,定义类CPeople包含个人信息姓名、年龄、薪水。并在类中定义构造函数、析构函
8、数。题目分析:注意构造函数、析构函数的定义规则。#include /类CPeople的定义class CPeople int m_nAge; float m_fSalary; char* m_pstrName; CPeople(); /缺省构造函数 CPeople(int age, float salary, char* name); /带参数的构造函数 CPeople(const CPeople &); /拷贝构造函数 CPeople(); /析构函数 char *GetName(); float GetSalary (); void SetSalary (float); int GetAg
9、e(); void SetAge(int age);CPeople:CPeople() /缺省构造函数,给创建的对象的每个成员赋默认值 m_nAge = 20; m_fSalary = 3000.00f; m_pstrName = new char20; /用new操作符为字符指针m_pstrName分配空间 strcpy(m_pstrName, 无名氏CPeople(int age, float salary, char *name) /带参数的构造函数 m_nAge = age; m_fSalary = salary; strcpy(m_pstrName, name);/复制构造函数,用已
10、存在的对象来创建新的对象CPeople( const CPeople &AnotherPeople) m_nAge = AnotherPeople.m_nAge; m_fSalary = AnotherPeople.m_fSalary; m_pstrName = new charstrlen(AnotherPeople.m_pstrName) + 1; strcpy(m_pstrName, AnotherPeople.m_pstrName );CPeople() /析构函数,用来释放我们在构造函数中动态申请的内存空间 if (m_pstrName != NULL) delete m_pstrN
11、ame; /释放m_pstrName所占用的内存空间char *CPeople:GetName() return m_pstrName;int CPeople:GetAge() return m_nAge;void CPeople:SetAge(int age ) if(age = 0) cout 设置的年龄不合法 endl; m_nAge = age;float CPeople:GetSalary() return m_fSalary;SetSalary(float num) if(num 0)设置的薪水数目不合法 m_fSalary = num; CPeople ZhangSan(65, 2000.00f, 张 三 /创建一个对象ZhangSan cout 以下为个人信息:n姓名,年龄,薪水-n; ZhangSan.GetName() ; /输出对象ZhangSan的姓名 ZhangSan.GetAge() /输出对象Zhan
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1