软件开发技术(VC++)
Software Development Technique (VC++)
课程编号: 03410036
学分: 2
学时: 32  (讲课学时:32  实验学时:0  上机学时:0)
先修课程:高等数学、计算机基础、高级语言程序设计
适用专业:测控技术及仪器
教材:《Visual C++面向对象程序设计教程与实验》温秀梅编著清华大学出版社2014年第三版
一、课程的性质与目标
(一)课程性质
软件开发技术是测控技术及仪器专业及相关专业的一门专业技术基础课程。它的主要任务是通过本课程的
理论学习与上机实践,使学生掌握面向对象程序设计的基本概念、特点、结构、原理及设计方法,提高学生对测控软件的认识,初步具备在Windows平台下开发测控软件的能力。课程重点学习C++程序设计语言的相关内容,使学生能够阅读C++程序,掌握编程技巧,了解基于Windows环境下编程的基本知识,为后续课程打下良好基础。
(二)课程目标
课程目标1:能应用面向对象的编程思想编写C++程序,并能够上机调试程序与修改程序中错误;
课程目标2:能够编写C++程序用于正确地分析与处理测控系统中的数据,并能用图形显示数据;
课程目标3: 能在VC可视化平台下编写测控系统应用程序,具有编写出图形化界面的能力;
二、课程内容与教学要求
第一章面向对象技术概述
(一)课程内容
(1)面向对象方法的起源
(2)面向对象是软件方法学的返璞归真
(3)结构化程序设计与面向对象程序设计
(4)面向对象的基本概念和面向对象系统的特性
(5)面向对象程序设计语言的四大家族
(6)面向对象的系统开发方法
(二)教学要求
(1)了解面向对象与面向过程程序设计的区别、对象的概念与类的确定、消息与事件的概念
(2)掌握面向对象程序设计的四大特点
(3)了解面向对象程序设计语言:混合型面向对象程序设计语言C++、纯面向对象程序设计语言Java和可视化程序设计语言Visual Basic
(4)掌握C++对面向对象技术的支持以及Visual C++ 6.0编程开发工具使用。
(三)重难点
1.重点:面向对象的基本概念的理解
2. 难点:消息与事件概念
第二章 C++语言及对C语言的扩充
(一)课程内容
(1)C++语言的特点、C++语言的文件扩展名
(2)注释符、名字空间、C++语言的输入输出
(3)变量的定义、强制类型转换
(4)动态内存的分配与释放
(5)作用域运算符(::)、引用、const修饰符、字符串
(6)C++语言中函数的新特性
(二)教学要求
(1)掌握C++程序的基本组成
(2)掌握数据类型和表达式,包括基本数据类型、指针和引用、数组和结构体(3)掌握运算符与表达式、动态存储分配、程序的基本控制结构
(4)掌握函数定义和函数原型,函数调用、内联函数、带缺省参数的函数和函数重载,了解作用域与生存期
(5)能使用引用运算符编写程序
(三)重难点
1.重点:掌握作用域运算符的和动态存储分配的使用
2. 难点:引用符和地址运算符在使用时的相似处与不同点
第三章类与对象
(一)课程内容
(1)类的定义及对象
(2)构造函数和析构函数
(3)类的聚集——对象成员
(4)静态成员
(5)指向类成员的指针
(二)教学要求
(1)掌握类定义、访问控制、成员函数的实现
(2)掌握对象的定义、类成员的访问方法
(3)掌握构造函数、析构函数和拷贝构造函数的使用
(4)初步掌握静态成员的定义、静态数据成员的初始化、静态成员的调用
(三)重难点
1.重点:掌握构造函数、析构函数的使用
2. 难点:理解构造函数和析构函数的执行顺序
第四章继承与派生
(一)课程内容
(1)单一继承
(2)多重继承
(3)虚基类
(4)类模板
(二)教学要求
(1)掌握继承的层次关系、派生类的定义、派生类的生成过程、三种访问权限控制
(2)掌握派生类的构造函数和析构函数,特别是有关数据的初始化和调用顺序(3)能运用多继承方式的定义类、并会使用多继承的构造函数和虚基类。
(三)重难点
1.重点:掌握继承的层次关系及基本概念
2. 难点:是虚基类的概念、二义性的理解、派生类和基类构造函数和析构函数的执行顺序
第五章多态性
(一)课程内容
(1)运算符重载
(2)虚函数
(3)纯虚函数和抽象类
(4)虚析构函数
(二)教学要求
(1)了解多态的实现类型、联编的有关概念,区分静态联编、动态联编
(2)掌握虚函数的声明、虚函数的使用;了解抽象类的概念和作用、纯虚函数的定义多态性与虚函数
(3)掌握运算符重载规则以及运算符重载为成员函数和运算符重载为友元函数的方法
(三)重难点
1.重点:掌握动态联编的基本概念,虚函数的使用,抽象类的概念和作用
2. 难点:运算符重载的正确使用
三、本课程开设的实验项目
实验1:熟悉实验环境
实验目的
(1)了解和使用Visual C++ 6.0的集成开发环境。
(2)熟悉Visual C++ 6.0环境的基本命令和功能键,熟悉常用的菜单命令。
(3)学习使用Visual C++ 6.0环境的帮助。
(4)学会完整的C++程序开发过程(编辑、编译、连接、测试、调试、运行、查看结果)。
实验要求
(1)输出100以内的所有素数。
(2)输入5个字符串,按英文字典排序,由小到大排序输出。
(3)求1~20的阶乘之和。
实验2:C++语音扩充编程实验
实验目的
(1)掌握 C++ 语言在结构化程序设计方面对C 语言的扩充。
(2)进一步掌握程序的调试方法。
实验要求
(1)定义一个函数,比较两个数的大小,形参分别使用指针和引用。
(2)创建一个学生链表,进行链表的插入、删除、查操作,要求使用函数模板、使
用new和delete 进行动态内存的分配和释放。
实验3:类和对象编程实验
实验目的
(1)学习类、成员函数、对象的定义方法。
(2)学习使用构造函数和析构函数。
(3)掌握深拷贝构造函数的使用。
(4)掌握对象成员的使用方法。
(5)掌握多文件结构的程序设计方法。
(6)进一步熟悉Visual C++的编译连接过程,掌握Visual C++的调试方法。
实验要求
(1)设置一个学生类student,它具有的私有数据成员是:注册号、姓名、数学、英语、计算机成绩;具有的公有成员函数是:求三门课总成绩的函数sum();求三门课平均成绩的函数average();显示信息的函数print();获取学生注册号的函数get_reg_num();设置信息的函数set_stu_inf()。编制主函数,说明一个student类对象的数组并进行全班学生信息的输入与设置,而后求出每一学生的总成绩、平均成绩、全班学生总成绩最高分、全班学生总平均分,并在输入一个注册号后,输出该学生有关的全部数据信息。
(2)定义一个字符串类,使其至少具有内容和长度两个数据成员,分别定义不同的成员函数,用于显示字符串,求字符串长度,给原字符串后连接另一个字符串。
(3)定义一个复数类,其成员为复数的实部和虚部,要求定义和使用构造函数和拷贝构造函数,并定义成员函数显示复数的值。
(4)创建一个雇员类,该类中数据成员具有姓名、家庭住址和等,其功能由修改姓名、显示数据信息,要求其功能函数的原型放在类定义体中。
实验4:继承和派生编程实验
实验目的
(1)了解类的继承概念,能够定义和使用类的继承关系。
(2)掌握派生类的声明和定义方法。
(3)掌握公有、私有和保护派生的访问特性。
(4)掌握多重继承的使用。
实验要求
(1)设计一个大学的类系统,学校中有学生、教师,每种人员都有自己的特性,他们之间有相同的地方(以person类为基类,有姓名、编号),又有各自不同的特性(学生:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。