第一篇:面向对象程序设计-实验报告2
GDOU-B-11-112
广东海洋大学学生实验报告书
实验名称 实验2:构造函数和析构函数 课程名称 面向对象程序设计
学院(系)
学生姓名
成绩信息学院学号 专业 计算机科学与技术实验地点 科423 班级 实验日期 一.实验目的1.掌握构造函数和析构函数的定义的基本格式。
2.掌握利用构造函数对对象的数据成员进行初始化的方法。
3.了解构造函数的使用方法。
二.实验内容
1.定义一个关于日期时间的类,并在类中定义构造函数、析构函数。
2.定义一个圆柱体类Cylinder。成员中有私有数据半径及高,要求有构造函数、析
构函数以及求圆柱体体积的成员函数。定义此类的两个对象,编写一个主函数进行测试。
指导教师日期注:请用A4纸书写,不够另附纸。第页,共页
第二篇:面向对象程序设计大作业实验报告
面向对象程序设计大作业实验报告
计算机2000<4>班
周博慧
学号 *** 2001年 12月 5日
一,功能介绍
程序采用C++为设计语言,使用VISUAL C++提供的头文件,操作平台基于dos平台,适用的分辨率为600*480。
程序的设计目的是为一家船工厂建立库存清单。它能够实现的功能有:
1,输入库存(船,零件)的基本情况; 2,改变船或者零件的库存量; 3,查询现存的零件数量; 4,显示库存的基本情况。
二,基本结构
1,类的说明
程序共定义了四个类类型,它们分别是:stock(库存)类,part(零件)类,ship(船)类,stocklist类(库存链表类)。
其中,stock作为基类被part类和ship类公有继承,part类和ship类分别作为stock的派生类存在,两者无其它联系;stock-list类作为一个独立的类而存在。
2,成员说明
stock类定义了两类成员:
A)保护成员:包括current-level(当前库存量)和price(价格;对于零件而言是厂商的成本;对于船而已是销售给销售商的价格)。
B)公有成员:包括stock();get-level();change-level();get-price();change-price();~stock()六个成员函数。
其中,get-level()返回当前的库存量;change-level()改变库存量;get-price()得到库存价格;
change-price()改变商品价格;~stock()显示目前某型号零件或某种船模型的库存量。change-level()和~stock()被设置为虚函数。
part类除了自stock类继承的成员以外,还定义了两类成员,分别是:
A)私有成员:reorder-level(零件的定货量)和part-num(零件的型号);在这里要求零件的型号由一个字母两个数字组成。
B)公有成员:part();get-part();set-reorder();~part()四个成员函数。
其中,get-part()返回零件型号;set-reorder()设置定货量;~part()显示零件型号。
ship类除了自stock类继承的成员以外,还定义了两类成员,分别是:
A)私有成员:model(船的型号,要求输入字符);engine-size(引擎规格,要求输入数字);max-speed(船的最高速度)。
B)公有成员:ship();get-model();~ship()三个成员函数。
其中,get-model()返回船的型号,与零件型号不同,这里要求的是全字符;~ship()显示型号名称。
stock-list类包含了一个“指针对节点”类型的实例变量,程序运行的时候,指针将接收到一个part类对象或者ship类对象的地址,它也定义了两类成员:
A)私有成员:只定义了一个返回类型为stock-node结构(自定义的库存结点结构)的指针head-ptr。
B)公有成员:包括stock-list();insert-stock();find-part();find-ship();display-list();~stock-list()五个成员函数。
其中,stock-list()把库存清单的首地址设置为空,为以后建立库存清单做准备;insert-stock()输入零件或者船的基本数据;find-part()查找零件数据;find-ship()查找船数据;display-list显示库存情况;~stock-list()释放旧地址占用的空间。
3,结构说明
本程序包括两个c++ header file和三个c++ source file。c++ header file包括shipparts.h和stocklist.h;c++ source file包括shipparts.cpp,stocklist.cpp和mainstock.cpp。
三,心得体会
通过这次大作业的设计,我对C++熟悉了很多,更深刻的体会到C++编程序的优点,加深了对类封装性和继承的理解,熟悉了vc的操作,也丰富了自己的编程经验。
同时,我也深深体会到自己的很多不足,没有很彻底的领会面向对象程序设计的优点,不能很好的构建层次清晰而且分类详细的继承体系,没有建立良好的辨认错误输入发出警告的防御系统,不能检查出一般的输入错误,程序能够实现的功能很少。而且,由于个人编程经验的严重缺乏,程序的适用性极低。
以后要进一步学习c++的编程技巧,增强自己的编程能力。
第三篇:《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲
课程名称:信息内容安全 课程代码:042504 总 学 时:64 学
分:2
课程类型:专业必修课 适用专业: 信息安全专业 制 订 人:徐雪飞 审 定 人:肖
文 制订日期:2015年3月
《面向对象程序设计》教学大纲
一、课程性质、目的和任务
C#语言是.NET平台上的核心开发语言,具有简单易学、类型安全、完全面向对象等特性,是一门面向现代软件工程的主流程序设计语言。本课程系统地介绍C#语言的结构化设计、面向对象、泛型、商业开发等功能要素,使学生在掌握程序设计的基本方法和技巧,培养利用计算机解决实际问题的能力,以满足专业课应用和继续学习的需要。
二、教学基本要求
通过学习本课程,要求学生能够熟悉C#语言的语法和类型系统,掌握面向对象程序设计和泛型程序设计的基本方法,并具有商业应用开发的基本能力,能灵活地使用C#语言及Visual Studio.NET开发环境解决一般性编程问题。
三、教学内容
1、绪论(教学2学时,上机2学时)
教学内容:
(1).NET技术和框架结构简介(2)C#语言概貌
(3)面向对象的基本概念
教学目的:使学生对.NET平台和C#有一个综合性的了解。
2、C#语法基础(教学6学时,上机4学时)
教学内容:(1)数据类型(2)值和方法(3)表达式(4)控制语句
教学目的:使学生基本掌握C#语言的类型系统和基本语法结构。
3、类和继承(教学4学时,上机4学时)
教学内容:
(1)类的数据成员和各种函数成员(2)继承和多态(3).NET常用类型(4)接口与实现
教学目的:使学生进一步掌握类型的定义和使用方法,掌握.NET类库中一些典型类的用法;深入理解继承和多态性的概念,从而掌握面向对象软件可重用性的关键技术。
4、Windows窗体界面(教学2学时,上机2学时)
教学内容:
(1)Windows Form编程技术(2)WPF编程技术
(3)绘图、动画和媒体 教学目的:使学生掌握Windows程序界面设计的基本要素,能够使用Windows Form和WPF编程技术开发交互式图形界面应用程序。
5、泛型(教学4学时,上机2学时)
教学内容:
(1)泛型的定义与使用(2)元组和可空类型的用法(3)泛型集合与循环遍历
(4)匿名方法和Lambda表达式
教学目的:使学生掌握泛型程序设计的基本概念,能够利用类型抽象和操作抽象开发出高可适的软件程序。
6、异常处理(教学1学时)
教学内容:
(1)C#异常处理结构
(2)主动引发异常和自定义异常
教学目的:使学生能够通过异常处理来提高程序可靠性。
7、文件操作(教学1学时,上机1学时)
教学内容:
(1)驱动器、目录和文件(2)文件流和数据流
教学目的:使学生掌握在C#程序中进行磁盘文件存取的基本技术。
8、数据库访问(教学2学时,上机1学时)
教学内容:
(1)ADO.NET联机数据访问(2)ADO.NET脱机数据访问
教学目的:使学生掌握C#程序中进行数据库存取的基本技术。
9、综合练习(教学2学时,上机8学时)教学内容:
(1)进程和线程
(2)ASP.NET网络程序设计
(3)采用案例驱动的方式,综合运用C#编程技术开发较为完整的软件程序。教学目的:提高学生软件设计的综合能力。
五、教学方法与手段
讲授法、讨论法、多媒体教学、实验教学。
六、考核方式
考试成绩占70%,平时成绩占30%。闭卷考试。
七、推荐教材和教学参考书
教
材:《C#程序设计基础》第3版,郑宇军,石海鹤,王卫红,清华大学出版社,2014年。参考书:
1、《C#应用开发与实践》,曾宪权、李梅莲 等,清华大学出版社,2015年
2、《C#编程实战宝典》,付强、丁宁 等,清华大学出版社,2014年。
第四篇:面向对象程序设计教学大纲
面向对象程序设计(专业限选课)Object-Oriented Programming 【课程编号】XZ26175 【学分数】3 【学时数】60=38+22
【课程类别】专业限选 【编写日期】2010.3.30 【先修课程】C语言程序设计、计算机应用基础
【适用专业】通信工程
一、教学目的、任务
通过学习,使学生深刻理解和领会面向对象的基本思想和基本特征,掌握面向对象程序设计语言C++语言的基本概念、基本语法以及面向对象程序设计的基本方法;使学生养成面向对象的编程思维习惯。
二、课程教学的基本要求
1.理解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想 2.能比较熟练地用C++语言进行一般面向对象的程序设计
3.初步掌握面向对象编程环境Visual C++的使用
三、教学内容和学时分配(2 + 5 + 14 + 9 + 12 + 7 + 6 + 5 = 60)第一章 面向对象程序设计概述 2 学时(课堂讲授学时2)主要内容:
1.什么是面向对象程序设计 2.对象与类 3.封装 4.继承性 5.多态性
6.面向对象程序设计的语言 教学要求:
了解什么是面向对象程序设计;掌握对象和类的基本概念;理解面向对象程序设计的基本特征。其它教学环节:
安排课外了解面向对象程序设计方面的基本概念。第二章 C++概述 5学时(课堂讲授学时2+课程实验学时3)主要内容:
1.C++的起源和特点 2.C++源程序的构成
3.C++在非面向对象方面的一些特性 教学要求:
cin和cout的使用;new和delete的运算符的使用;函数的重载;带缺省参数的函数;引用; VC++的使用。其它教学环节:
实验1: C++程序设计基础练习。实验目的和要求:
1.掌握C++程序的基本格式和规范,学会编写简单的C++程序。2.掌握C++程序结构的特点。
3.熟悉C++程序基本的输入输出操作。
4.掌握C++数据类型常量和变量以及修饰符的使用方法。5.熟悉作用域运算符的功能和基本使用方法。6.掌握C++内存的动态分配和释放方法。7.理解引用的概念,掌握引用的使用方法。
第三章 类和对象 14学时(课堂讲授学时8+课程实验学时6)主要内容:
1.类与对象的基本概念 2.构造函数与析构函数 3.对象数组与对象指针 4.向函数传递对象 5.静态成员 6.友元
7.类对象作为成员 8.常类型 教学要求:
类的声明;对象定义;对象的成员的访问。访问属性的理解和运用;构造函数和析构函数的定义;对象数组的定义和使用;this的指针的理解和使用;类的成员类型为其他类时如何理解和使用;静态成员的理解和运用。提供友元机制的目的;友元声明方法;提供常类型机制的目的;各种不同的常类型运作方式。其它教学环节:
实验2:类和对象。实验目的和要求:
1.掌握类、类的数据成员、类的成员函数的定义方式。2.理解类成员的访问控制方式。
3.掌握对象的定义和操作对象的方法。
4.理解构造函数和析构函数的定义与执行过程。5.掌握重载构造函数的方法。6.了解拷贝构造函数的方法。实验3:对象数组和对象指针。实验目的和要求:
1.掌握对象数组的定义和使用方法。
2.理解对象指针的概念,学会用指针引用对象。3.了解this指针的工作方式。
4.掌握静态数据成员和静态成员函数的基本使用方法。5.理解友元与友元函数的作用,掌握其使用方法。
第四章 派生类和继承 9学时(课堂讲授学时6+课程实验学时3)主要内容:
1.派生类的概念
2.派生类的构造函数和析构函数 3.基类成员的访问 4.多重继承 5.赋值兼容规则 教学要求:
基类和派生类的基本概念;继承成员的访问规则;派生类构造函数和析构函数的运行规则;多重继承的基本概念;多重继承中同名二义性如何消除;引入虚基类的目的;继承类和派生类之间相互赋值规则用。
其它教学环节:
实验4:派生类与继承。实验目的和要求:
1.理解类的继承的概念,能够定义和使用类的继承关系。2.掌握派生类的声明和定义方法。
3.掌握公有派生和私有派生的访问特性。4.学习虚基类在解决问题中的作用。
第五章 多态性 12学时(课堂讲授学时8+课程实验学时4)主要内容:
1.编译时的多态性与运行时的多态性 2.函数重载 3.运算符重载 4.类型转换 5.虚函数 教学要求:
多态的基本概念;实现运算符重载的方法(成员函数);实现运算符重载的方法(友元函数);静态联编和动态联编的基本概念;虚函数的作用;虚函数的运用。其它教学环节:
实验5:虚函数和多态性。实验目的和要求:
1.理解编译时的多态性和运行时的多态性。2.掌握运算符重载的基本方法。3.掌握虚函数的定义和使用方法。
第六章 模板 7学时(课堂讲授学时4+课程实验学时3)主要内容:
1.模板的概念
2.函数模板与模板函数 3.类模板和模板类 教学要求:
模板的基本概念;为什么要使用模板;函数模板和模板函数的基本概念;函数模板的声明和使用;类模板和模板类的基本概念。其它教学环节:
实验6:函数模板与类模板。实验目的和要求:
1.掌握函数模板及其声明方法。2.掌握模板函数及其生成方法。3.学习类模板的声明与使用方法。
第七章 C++的I/O流类库 6学时(课堂讲授学时3+课程实验学时3)主要内容:
1.C++建立类类库的目的 2.预定义类型的输入输出
3.用户自定义类型的输入和输出 教学要求:
掌握在各种情况下的<<和>>运算符的重载。其它教学环节:
实验7:I/O流类库。实验目的和要求:
1.掌握流及流类库的作用。
2.掌握流类库中常用的类及其成员函数的使用方法。3.掌握重载“<<”和“>>”的方法。
4.掌握控制输出宽度的函数width和setw。
5.掌握函数setosflags和resetiosflags设置和恢复对齐方式、精度、大小写等。
研究教学内容 5学时(课程讲解和讨论学时)
程序综合设计:按照面向对象程序开发的原则和方法,利用一个实例来讲解面向对象程序设计的整个过程,然后要求学生根据自己的开发经验进行分组讨论,从而帮助学生进一步理解和熟悉面向对象程序设计方法。
四、教学重点、难点及教学方法
重点:类和对象的基本概念;对象定义;对象的成员的访问。访问属性的理解和运用;构造函数和析构函数的定义;对象数组的定义和使用;this的指针的理解和使用。基类和派生类的基本概念;继承成员的访问规则;派生类构造函数和析构函数的运行规则。多态的基本概念;函数的重载。
难点:多重继承;虚函数;模板。
教学方法:课堂授课采用多媒体教学和分组讨论的方法,实验采用任务驱动方式。通过未来愿景描述和学以致用的方法来提高学生的学习兴趣,通过分组交流和师生积极互动的方式提高学生学习本门课程的学习能力。
五、考核方式及成绩评定方式:考试
六、教材及参考书目
推荐教材:
[1] 《C++面向对象程序设计》,陈维兴,林小茶,清华大学出版社,第2版,2004 参考书:
[1] 《C++面向对象程序设计习题解析与上机指导》,陈维兴,清华大学出版社,2003 [2] 《C++程序设计基础》,周霭如,电子工业出版社,2003 [3] 《C++语言程序设计》,郑莉,清华大学出版社,2005 修(制)订人: 审核人:
2010年 3 月30
日
第五篇:《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲
课程名称:面向对象程序设计 英文名称:Object Oriented Programming)学分:2 总学时:36 实验(上机)学时: 8 开课专业:电子商务专业
一、本课程的性质、目的和培养目标
面向对象程序设计是电子商务专业的限定选修课程。面向对象程序设计是当今最为流行的程序设计方法,本课程以C++语言为核心,全面概述面向对象程序设计的基本概念和基本技术。主要内容包括:理解和掌握面向对象程序设计的基本思想和技术,掌握C++中的引用和函数重载、类与对象、静态成员与友元、运算符重载、继承与派生类、多态与虚函数等重要概念和技术。通过教学要求学生基本掌握面向对象的程序设计方法,认识C++是如何支持面向对象程序设计的,培养、训练学生运用面向对象技术进行程序设计的能力。
二、预修课程
计算机语言与程序设计
三、课程内容及学时分配
第一章 从C语言到C++语言
1.C++语言出现的历史背景(OOP思想概述)2.C++中的注释、常量和输入输出 3.C++中的变量定义与作用域 4.C++中的函数 5.C++中的指针与引用
本章学时数:4,本章习题数:4 第二章 类与对象 1.类 2.对象
3.构造函数和析构函数 4.对象及其应用 5.对象的生存期 6.再论程序结构 7.面向对象程序设计
本章学时数:6,本章习题数:6 第三章 静态成员与友元 1.拷贝构造函数 2.静态数据成员 3.静态成员函数 4.友元函数
本章学时数:6,本章习题数:6 第四章 运算符重载 1.运算符重载的概念 2.运算符重载举例
本章学时数:4,本章习题数:4 第五章 继承与多态 1.继承的概念 2.单继承 3.多态与虚函数
4.类的分解(类的层次设计)5.抽象类与纯虚函数
本章学时数:6,本章习题数:6 第六章 I/O流库简介 1.C++流库的结构 2.输入与输出 3.格式控制 4.文件
本章学时数:2,本章习题数:2
四、实验(上机)内容和建议学时分配 实验1(4学时)
要求:定义类,该类至少应包括静态数据成员和静态成员函数,要求通过本实验掌握定义类的基本方法。实验2(4学时)
要求:通过本实验掌握函数重载、友元函数、继承、虚函数等的基本使用方法。
五、教材和参考书目
1.《C++语言基础教程》,吕凤翥编著,清华大学出版社,1999 2.《C++程序设计教程》,钱
能主编,清华大学出版社,1999 3.《The C++ Programming Language》(Third Edition),Bjarne Stroustrup,Addison-Wesley,1997
六、课外学习要求
要求课前预习下一次课的讲课内容,课后复习本次课的讲课内容并通过相应的作业加以消化。
七、考核方式
本课程采用闭卷书面考试方式为主,其中期终考试占80%,期中10%,平时作业、上机及出勤率10%。