第一篇:2013级计算机科学与技术专业《面向对象的程序设计》实验考核题
2013级计算机科学与技术专业《面向对象的程序设计》实验考核题
一、编写C++程序,要求:(50’)
(1)声明一个类Complex,定义类Complex的两个对象c1和c2,对象c1通过构造函数指定复数的实部与虚
部(类私有数据成员为double型的real和image)为2.5及3.7,对象c2通过构造函数直接指定复数的实部与虚部为4.2及6.5。
(2)编写加法友元函数,以c1,c2对象为参数,调用时能返回两个复数对象相加操作。编写减法友元函数,以c1,c2对象为参数,调用时能返回两个复数对象相减操作;编写取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。
(3)定义成员函数print(),调用该函数时,以格式(real,image)输出当前对象。
(4)编写主程序,计算出复数对象c1与c2相减结果,并输出。然后计算c2的相反数与c1相加结果,并输出。
二、编写C++程序,要求:(50’)
(1)建立一个代表空间点的基类Point, 它的数据成员为点的三维坐标,分别用成员变量X、Y和Z表示。建立代表球体的派生类Sphere,继承Point,以该点为球心并增加了数据成员R表示半径。
(2)基类中有计算该点到坐标原点距离的办法,派生类中有计算球体表面积和体积的方法
(3)基类和派生类都有构造函数,并且可以通过构造函数直接设定数据成员。(球体表面积4*3.1415926*R*R,球体体积4*3.1415926*R*R*R/3)
(4)主函数中让用户输入球体中心坐标及半径,然后输出球心到原点的距离、球体表面积和体积。
代码开头部分:
#include
#include
const double PI=3.1415926;
Class Point{
private:
double X,Y,Z;
public:
Point(double x, double y, double z){
X=x;Y=y;Z=z;
}
double distance(){return sqrt(X*X+Y*Y+Z*Z);}
double getX(){return X;}
double getY(){return Y;}
double getZ(){return Z;;}
void setX(double x){X=x;}
void setY(double y){Y=y;}
void setZ(double z){Z=z;}
};
第二篇:面向对象程序设计教学大纲-计算机科学与软件学院
面向对象技术
Technology of Object-Oriented Programming 课程编号:30420032 学分数:2 开课单位:计算机技术与自动化学院
课内总时数:40 任课教师姓名及职称:陈勇副教授、柯永振讲师、刘坤良讲师 开课学期:第2学期 教学方式:讲授
一、教学要求及目的:
理解面向对象的基本思想、基本概念;掌握面向对象程序设计语言的基本结构、各种语法成分的作用、语法结构及运用方式;掌握面向对象程序设计的方法和技巧;能比较熟练地用C#语言进行一般面向对象的程序分析、设计,提高编写和调试应用程序的能力。
二、课程的主要内容
1.面向对象方法的历史与现状
面向对象技术的发展历史,主要的面向对象语言介绍。
2..Net Framework概述.Net Framework基本框架,.Net Framework的优点,以及开发平台。3.C#概述
C#的起源和特点,C#源程序的基本构成,C#中非面向对象方面的—些程序特性。4.C#中类和对象
类与对象的基本概念,构造函数,方法与属性,参数传递,静态成员。5.派生、继承、多态性
数据的抽象与封装,派生类的概念,派生类的构造函数,C#中多重继承的处理方法,虚方法的实现,抽象类,重载的实现,接口的实现,代理的实现。6. 基于Windows 与Web的应用程序开发
开发Windows,Web应用程序的基本框架。7.Web Service实现
使用XML的Web Service实现。8.面向对象技术实践
根据所掌握的面向对象技术,分析一个具体案例,利用C#实现其功能。
三、课程教材及主要参考书
1.C#面向对象程序设计,黄聪明,科学出版社,2004年 2.C#程序设计,田原,清华大学出版社,2005 3.C#高级编程,李敏波,清华大学出版社,2005(第3版).4.C#程序设计教程,余安萍,电子工业出版社,2002 5.面向对象的分析与设计,(美)Grady Booch著,机械工业出版社,2005年
6.C#范例解析,朱沭红,电子工业出版社,2002 7.Visual C#程序设计基础教程,邵鹏鸣,清华大学出版社,2005.四、预修课程
C语言程序设计、数据结构、程序设计方法学
五、适用专业、范围
计算机应用技术专业、计算机软件与理论专业
第三篇:面向对象程序设计教学大纲-计算机科学与软件学院
人工智能原理及应用
Artificial Intelligence Principles and Applications
课程编号:30420082 学分数:2 开课单位:计算机技术与自动化学院
课内总时数:40 任课教师姓名及职称:刘文菊副教授、郭景讲师
开课学期: 第2学期 教学方式:讲授
一、教学要求及目的
人工智能是研究智能信息处理技术、开发具有智能特性的各类应用系统的核心技术。通过本课程的学习,要求学生了解人工智能的基本概念和原理,掌握常用的知识表示、逻辑推理和问题求解的方法,熟悉人工智能的发展学派和主要理论。为智能信息分析和构建专家系统、智能决策支持系统等各类智能系统奠定基础,并培养学生提高解决复杂问题的能力。
二、课程的主要内容
1.人工智能概述
人工智能的概念; 人工智能的产生和发展; 人工智能的内容和特点; 人工智能的研究和应用领域。2.知识表示方法
知识表示的概念;
谓词逻辑表示法; 产生式表示法; 语义网络表示法; 框架表示法; 面向对象表示法。3.推理方法
推理的基本概念;
确定性推理:推理方法及其分类、推理的控制策略、推理的逻辑基础; 不确定性推理:确定性因子法、主观Bayes法、证据理论、模糊推理。4.问题求解与搜索方法
状态空间搜索,状态图问题求解; 与或树搜索,与或树问题求解;
博弈树搜索,极大极小过程,-剪枝法。5.机器学习
机器学习的概念; 机械学习; 基于经验的学习; 基于事例的学习; 基于类比的学习; 基于神经网络的学习。6.人工智能应用--专家系统
专家系统的概念; 专家系统的结构;
专家系统的应用与发展概况; 产生式系统 专家系统设计举例。
7.人工智能的争论与展望
关于人工智能的争论; 人工智能对人类的影响; 对人工智能的展望。
三、课程教材及主要参考书
1.人工智能及其应用(第三版)研究生用书,蔡自兴编著,清华大学出版社,2006年5月 2.人工智能技术导论,廉师友编著,西安电子科技大学出版社,2002年第1版 3.人工智能原理及其应用,王万森编著,电子工业出版社,2000年9月
4.Artificial Intelligence A New Synthesis
Nils J.Nilsson
机械工业出版社 1999.9
四、预修课程
数理逻辑、离散数学、高级语言程序设计、数据结构与算法
五、适用专业、范围
计算机应用技术专业、计算机软件与理论专业
第四篇:《面向对象程序设计方法》实验教学大纲
《面向对象程序设计方法》实验教学大纲
(计算机科学与技术本科专业使用)
一、教学目标
通过该实验课,学生应在熟练掌握过程化程序设计方法的基础上,领会面向对象程序设计及类的封装、数据隐藏、继承及多态等特性,逐步掌握面向对象程序设计方法,培养一定的程序设计能力,为以后各专业课程的学习打下良好的程序设计基础。
二、实验教学时数
三、实验内容
实验一 图形打印
1、实验目的:练习for循环
2、实验技能培训内容:打印几种特殊图形,如菱形和Z字形
3、主要仪器:计算机
4、实验方法:上机编程
实验二 判素数
1、实验目的:练习函数
2、实验技能培训内容:判断101-200之间有多少个素数,并输出所有素数。
3、主要仪器:计算机
4、实验方法:上机编程
实验三 递归函数练习
1、实验目的:练习递归函数
2、实验技能培训内容:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....3、主要仪器:计算机
4、实验方法:上机编程
实验四 数列排序
1、实验目的:练习数组及几种基本排序方法
2、实验技能培训内容:用选择、插入、冒泡、快速等几种基本的排序方法对数列进行排序。
3、主要仪器:计算机
4、实验方法:上机编程
实验五 矩阵乘积
1、实验目的:练习数组
20学时
2、实验技能培训内容:用数组存储两个矩阵,求两个矩阵的乘积。
3、主要仪器:计算机
4、实验方法:上机编程
实验六 设计时间日期类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:构造一个TimeDate类,类中包含一个成员函数,用来在屏幕上显示时间与日期(采用建立在标准库time.h中的标准时间与日期来寻找与显示日期)。
3、主要仪器:计算机
4、实验方法:上机编程
实验七 设计计时类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:建立Watch类,用来仿效秒表跟踪消逝的时间。用构造函数将消逝时间的初值置为零。提供两个成员函数Start()与Stop(),分别打开与关闭计时器。
3、主要仪器:计算机
4、实验方法:上机编程
实验八 设计字符栈类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:用Stack类,写一个函数LoadStack(),用来返回已经将字母表(a-z)入栈的堆栈。在调用函数中,将这个堆栈赋值给另一个对象,并证明它包含字母表。可以改变堆栈的尺寸,以便它大得足以支持字母表。
3、主要仪器:计算机
4、实验方法:上机编程
实验九 友元的使用方法
1、实验目的:掌握友元的使用方法
2、实验技能培训内容:求两数的平方差(友元函数说明)
3、主要仪器:计算机
4、实验方法:上机编程
实验十 访问权限
1、实验目的:掌握类成员的各种访问权限
2、实验技能培训内容:类成员的各种访问权限
3、主要仪器:计算机
4、实验方法:上机编程
实验十一 类的派生
1、实验目的: 掌握类的派生
2、实验技能培训内容:给出基类AreaClass(形状类),建立两个派生类Box(方形类)与Isosceles(等腰三角形类),让每个派生类包含一个函数Area(),分别用来返回方形与等腰三角形的面积。
3、主要仪器:计算机
4、实验方法:上机编程
实验十二 用类方法求解一元二次方程
1、实验目的: 掌握类的派生
2、实验技能培训内容:实现一个Complex类和一个Real类。将Real类定义为Complex类的子类。然后设计一个求解一元二次实系数方程的根的类Root。
3、主要仪器:计算机
4、实验方法:上机编程
实验十三 类继承中的构造
1、实验目的: 掌握类继承中的构造
2、实验技能培训内容:类继承中的构造方法
3、主要仪器:计算机
4、实验方法:上机编程
实验十四 类继承中的构造
1、实验目的: 掌握类继承中的构造
2、实验技能培训内容:类继承中的构造方法
3、主要仪器:计算机
4、实验方法:上机编程
实验十五 大学生类
1、实验目的: 掌握虚函数的使用
2、实验技能培训内容:设计一个大学的类系统,包括Student(学生),Professor(教师),Staff(职员)。另有一个类既作为学生又兼作助教的可作为派生类StudentStaff,它是由Student类和Staff类派生而来,另外定义一个父类DataRec作为上述类(子类)的基类。
3、主要仪器:计算机
4、实验方法:上机编程
责任撰写人:陈桂芬
第五篇:面向对象程序设计实验教学大纲
《面向对象程序设计》
实验指导书
《面向对象程序设计实验》课程组
目录
实验预备 实验环境和工具使用,多文件应用程序的开发过程 实验一 类与对象
实验二 实验三 实验四 实验五 实验六 实验七 I/O实验八
构造函数、析构函数 继承-单继承 继承-多继承
多态-运算符重载
多态-虚函数 流与文件 模板
实验预备 实验环境和工具使用 多文件应用程序的开发过程
一、实验目的与要求
Visual C++提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境,对于集成开发环境的熟悉程度直接影响程序设计的效率,本实验通过学习Visual C++ 6.0界面的常用组成情况,并学习各种常用的窗口、菜单、按钮的意义和功能,并通过一些简单的程序设计,目的是使学生对用户界面、菜单和工具栏有一个全面的了解并掌握主要菜单命令。
了解Visual C++集成开发环境的界面组成; 理解菜单命令的含义 掌握“New:”菜单命令、“Breakpoints”菜单命令、“Build”菜单命令、“Source Brower”菜单命令、工具栏的定制和修改、联机帮助。 简单的程序设计
二、实验设备与平台
实验设备要求每个学生一台电脑,其中运行环境为VC++ 6.0系统。
三、实验内容及步骤 1.上机实验内容
Visual C++集成开发环境的用户界面识别; 新文件、新工程项目、工作区的创建; 设置、查看和删除断点; 编译和运行程序; 浏览资源信息;
工具栏的定制和修改; 联机帮助的使用;
熟悉Visual C++编写控制台模式程序的方法; 上机输入例题,调试并运行,并观察结果; 上机编写一个程序
实验1调试并编译程序。
在Visual C++下,编写控制台模式的程序和在DOS下编写程序相似,具有简单方便的特点,一般用于后台程序的编写。控制台模式下程序的编写有两种方法,一是创建一个C++源程序文件,二是创建一个控制台模式的工程。
⑴ 创建一个C++源程序文件
① 启动Visual C++,单击“File”菜单下的“New”菜单命令,出现“New”对话框。然后选择“Files”选项卡,在此选项卡的左侧,单击“C++ Source Files”:在选项卡的右侧,选择源程序存放的位置(location)以及源程序文件名(File),然后单击【OK】按钮。注意C++源程序文件的扩展名为.cpp。
② 在编辑区输入源程序,程序内容如下:
#include
(Build)按钮或者选择“Build”菜单命令,系统提示是否创建一个默认的工程工作区,单击【是】按钮即可。④ 系统开始编译源程序并链接相应的文件,如果没有错误则在集成开发环境下方的状态栏中出现下列提示“0error(s),0warning(s)”,此时可以按
① 启动Visual C++,单击“File”菜单下的“New”菜单命令,出现“New”对话框。然后选择“Projects”选项卡,在此选项卡的左侧,单击“Win32 Console Application”;在选项卡的右侧,选择工程文件存放的位置(location)以及工程文件名(Project Name)。然后单击【OK】按钮。
② 在“Win32 Console Application-Step 1 of 1”对话框中选择应用程序的类型“An empty project”,单击【Finish】按钮。③ 在集成开发环境的左侧单击“File View”属性页,右键单击“Source Files”,选择“Add Files to Folder„”。在“文件名”中填入文件名,此时也可以选择存在的文件。
④ 此时在“Source Files”左侧出现一个加号,单击加号,出现新的源程序文件“1_1.cpp”,双击此文件,在集成开发环境的右侧输入例1_1.⑤ 按照创建一个C++源程序文件的第④个步骤编译和运行程序。
图1-1 向工程中添加源程序文件
图1-2 选择添加的源程序文件的文件名与类型
实验一 类与对象
一、实验目的与要求
(1)掌握类和对象的概念、定义和使用方法。(2)掌握不同特性对象成员的访问方法
二、实验设备与平台
实验设备要求每个学生一台电脑,其中运行环境为VC++ 6.0系统。
三、实验内容及步骤
(1)定义一个描述学生类,数据成员包括:姓名、性别、年龄;成员函数包括:输出各个数据成员的值,设置各个数据成员的值。
(2)求点到直线的距离。定义一个点类Point,数据成员包括:坐标点。成员函数包括:设置各个数据成员的值的构造函数Point(), 取得坐标值的函数Getx(),Gety(),设计一直线类Line,数据成员包括:直线系数a,b,c;成员函数包括:取得系数的函数Geta(),Getb(),Getc();构造函数Line();
• 说明:
• d=|a*x0+b*y0+c|/sqrt(a*a+b*b)
实验二 构造函数与析构函数
一、实验目的与要求
1.掌握构造函数和析构函数的使用方法。2.掌握静态成员的使用方法。3.掌握友员的使用方法。
二、实验设备与平台
实验设备要求每个学生一台电脑,其中运行环境为VC++ 6.0系统。
三、实验内容及步骤
(1)写出下列程序的执行结果,然后上机进行验证。用VC6的Debug的功能跟踪构造函数、析构函数和成员函数的执行顺序。#include
x = 2;y = 50;z = 9;} TEST(int a,int b,int c){
cout << “调用重载构造函数”<< endl;
x = a;y = b;z = c;} void display(){
cout << “x=” << x << 't' << “y=” << y <<'t' << “z=” << z << endl;} int max(int a,int b){
if(a>b)return a;else return b;} ~TEST(){
cout << “调用析构函数” << endl;
cout << x << “,” << y <<“和” << z << “最大值是:” << max(max(x,y),z)<< endl;} private: int x,y,z;};
void main(){ TEST obj1;obj1.display();TEST obj2(33, 20, 80);obj2.display();}(3)静态成员练习:书例子 class tc {
(4)友元练习:书例子
实验三 继承-单继承
一、实验目的及要求
1、掌握继承、基类和派生类的概念。
2、掌握初始化基类成员的方法。
3、掌握派生类对基类的继承。
二、实验设备与平台
1、硬件环境:微型计算机,2、软件环境:Visual C++ 6.0;
三、实验内容及步骤
• 要求:设计点类、圆类和圆柱类,其中,圆类继承点类,圆柱类继承圆类。求:圆面积。圆柱表面积、体积。• 圆的面积:S=PI*R*R • 周长:C= 2*PI*R • 圆柱表面积:A=2*PI*R*H+2*PI*R*R • =C*H+2*S • 圆柱体积: V=PI*R*R*H =S*H
• class Point //点类 • { • protected: • double x,y;• public: • Point(double x0,double y0); double Area();
• };• class Circle:public Point { //圆类 • protected: • double r;//半径 • public: • Circle(double x0,double y0,double radius)• double Area()//计算圆的面积 •
• };• class Cylinder: public Circle { //圆柱体类 • double h;//高度 • public: • Cylinder(double x0=0,double y0=0,double height=0){ •
• double Area()//计算圆柱体的表面积 •
• double Volume()//计算圆柱体的体积 • } • };
思考:点,矩形,立方体?
radius=0, double
实验四 继承-多继承
一、实验目的及要求
1、掌握继承、基类和派生类的概念。
2、掌握初始化基类成员的方法。
4、掌握派生类对基类的继承。
二、实验设备与平台
1、硬件环境:微型计算机,2、软件环境:Visual C++ 6.0;
三、实验内容及步骤
1阅读程序,写出实验结果。
#include “stdafx.h” #include “iostream.h” class BASE1 {public: void show_i(){ cout<
j=y;} };int main(int argc, char* argv[]){ DERIVED obj;obj.set(5,7);obj.show_i();obj.show_j();return 0;} 2 书上作业。Student,worker,s_w.•
实验五 运算符重载
一、实验目的及要求
1、掌握用成员函数重载运算符的方法。
2、掌握用友元函数重载运算符的方法。
二、实验设备与平台
1、硬件环境:微型计算机,2、软件环境:Visual C++ 6.0;
三、实验内容及步骤
1、定义一个复数类,通过重载运算符:“ *”,“/”,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。
分析:两复数相乘的计算公式为:(a+b i)*(c+d i)=(ac-bd)+(ad+bc)i 两复数相除的计算公式为:(a+b i)/(c+d i)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)i
2、定义一个分数类,通过重载运算符:“ *”,“/”,直接实现二个分数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。
实验六 多态性-虚函数
一、实验目的及要求
5、学习虚函数和纯虚函数的定义与使用方式。
6、理解抽象类的概念,学习如何用指针指向其他的派生类,实现多态性。
7、掌握抽象类的定义与使用方式,并注意指针的用法。
7、学习如何使用虚函数、纯虚函数、抽象类和实现类的多态性。
二、实验设备与平台
1、硬件环境:微型计算机,2、软件环境:Visual C++ 6.0;
三、实验内容及步骤
1、虚函数的简单使用。
# include
class subclass: public base { public: virtual void fn(){ cout « “In subclass n ”;} };
void test(base &b){ b.fn();} void main(){ base be;subclass sc;cout« “ Calling test(bc)n ”;test(bc);cout« “Calling test(sc)n ”;test(sc);}
2、定义一个从正方形、球体和圆柱体的各种运算中抽象出一个公共基 container类,在其中定义表面积和体积的纯虚函数,分析:
定义一个派生于container类的正方体类cube,在类中都具有求表面积的和体积的重定义的成员函数。定义一个派生于container类的球体类sphere,在类中都具有求表面积和体积的重定义的成员函数。
定义一个派生于container类的圆柱体类cylinder,在类中都具有求表面积和体积的重定义的成员函数。
实验八 模板
一、实验目的及要求
1.了解函数模板、类模板与模板函数、模板类的关系; 2.熟悉函数模板、类模板的声明与实例化过程; 3.掌握应用模板进行的程序设计
二、实验设备与平台
实验设备要求每个学生一台电脑,其中运行C程序环境为VC 6.0系统。
三、实验内容及步骤
模板的概念:
若一个程序的功能是对某种特定的数据类型进行处理,则将所处理的数据类型说明为参数,就可把这个程序改写为模板。模板可以让程序对任何其他数据类型进行同样方式的处理。
C++程序由类和函数组成,模板也分为函数模板(function template)和类模板(class template)。因此,可以使用一个带有多种不同数据类型的函数和类,而不必显式记忆针对不同的数据类型的各种具体版本。
函数模板的一般定义形式是: template <类型形式参数表> 返回类型 FunctionName(形式参数表){ //函数定义体 } 其中的类型形式参数表可以包含基本数据类型,也可以包含类类型。如果是类类型,则须在前面加上 calss。
这样的函数模板定义,不是一个实实在在的函数,编译系统不为其产生任何执行代码。该定义只是对函数的描述,表示它每次能单独处理在类型形式参数表中说明的数据类型。当编译系统发现有一个函数调用: FunctionName(实在参数表);将根据实在参数表中的类型,确认是否匹配函数模板中对应的形式参数表,然后生成一个重载函数。该重载函数的定义体与函数模板的函数定义体相同,而形式参数表的类型则以实在参数表的实际类型为依据。该重载函数称为模板函数(template function)。
注意:函数模板与模板函数的区别在于,函数模板是模板的定义,定义中用到通用类型参数。模板函数是实实在在的函数定义,它由编译系统在碰见具体的函数调用时所生成,具有程序代码。
实验1:用函数模板方法编写程序,对给各种不同类型的三个数分别求最大数。要求:编程序上机通过,写出运行结果。
实验2: 用函数模板方法编写程序,对给各种不同类型的两个数的和。
要求:编程序上机通过,写出运行结果。
实验七 I/O流与文件
一、实验目的与要求
(1)掌握流的概念。
(2)掌握文本文件和二进制文件的使用方法。
二、实验设备与平台
1、硬件环境:微型计算机,2、软件环境:Visual C++ 6.0;
三、实验内容与步骤:
(1)#include
cout< (3)建立一个文本文件“textfile.txt”(内容由读者选定),然后显示该文件,(4)建立若干个结构体类型的学生数据。要求 (1)键盘输入学生的信息,学生的属性包括学号、姓名和成绩,(2)用文件流中write函数将学生的信息写入文件D:student.dat(3)将student.dat中所有的数据读到内存中并显示输出在屏幕上。(10分)编写程序上机完成如下工作: Struct student { Int num;Char name[20];Float score;}stu[10];Main(){ //用键盘输入 For(int i=0;i<10;i++)Cin>>。。。。//写入文件中 Ifstream ifile(“d:student.dat”,ios::binary);//建立文件,并打开 if(!ifile.fail())//异常处理 { cerr<<“not open!” return 0;} For(int i=0;i<10;i++)Ifile.write(„„..);//写入 Ifile.close();//关闭 //读文件 Ofstream ofile(“d:student.dat”,ios::binary);For(int i=0;i<10;i++){Ofile.read(„..)//读出文件 Cout< 实验六 综合应用程序一 一、实验目的 本实验是对前面所学知识的总结,通过一个比较完整的应用程序的设计,将学过的知识连贯起来,掌握开发一个实际应用程序的步骤,同时学会使用开发工具实现界面友好的应用程序。并通过本实验,掌握如何运用面向对象技术对具体的应用系统进行分析和设计。 二、基本知识点 1、类和对象的定义、对象的初始化和使用 2、面向对象的继承机制 3、虚函数与多态性 4、运算符重载 5、文件的使用 6、算法的使用 三、基本要求 1、理解面向对象的特性 2、掌握面向对象程序设计的开发方法 3、有一定的分析问题和解决问题的能力 4、根据学过的知识点,充分利用已有的开发工具和素材,使程序编写具有更高的效率,能真正地解决实际问题。 四、实验内容: 可以在多个题目中选择一个: 1、编写一本通信录 2、模拟简单计算器 3、简单的管理系统的设计:如人事、工资、学生成绩等。(要求部分功能实现)。 五、学生实验报告要求 1、实验步骤 1)设计确定类的结构及各类之间的关系,注意成员变量和函数的性质(共有、私有或保护),哪些函数需要动态(定义为虚拟函数)。 2)创建系统项目(解决方案, Project)。 3)按上述结构定义各类,在构造函数中对成员变量进行初始化。4)定义各类中的成员函数 5)对用到的算法进行描述 2、完成编写相关实验代码 3、对实验结果进行分析 4、对本次实验要有总结 注意:要求在系统设计阶段对数据结构(主要是类的结构及类之间的联系)进行分析研究,充分利用面向对象的特性,使类结构尽可能合理和高效。