spContent=课程是以面向对象的C++语言为主要内容,以C++语言- API Windows编程- MFC Windows编程为主线。主要讲授面向对象程序设计的编程方法、C++语言的基本特性、使用Visual Studio进行可视化程序设计。本课程注重C++语言的实践与应用,在课程中穿插了生动案例和编程练习,培养学生解决实际问题的能力。
课程是以面向对象的C++语言为主要内容,以C++语言- API Windows编程- MFC Windows编程为主线。主要讲授面向对象程序设计的编程方法、C++语言的基本特性、使用Visual Studio进行可视化程序设计。本课程注重C++语言的实践与应用,在课程中穿插了生动案例和编程练习,培养学生解决实际问题的能力。
—— 课程团队
课程概述
课程从最基本的概念出发,学习使用Visual C++进行面向对象与可视化程序设计的基本原理与方法,包括C++、API函数和MFC编程的练习,使学生能够全面掌握VC++的编程开发构架和体系,从而培养独立开发应用程序的能力。
授课目标
通过学习和上机实践,使学生理解和掌握面向对象程序设计(OOP)的基本思想及基本概念;掌握使用C++语言进行面向对象编程的技术,能独立编写C++应用程序,同时为后续课程的学习打下良好的基础。同时,以C++语言作为一种载体,利用Visual Studio开发环境学习用计算机解决实际问题的基本方法和掌握开发可视化的Windows程序的一般方法。
成绩 要求
本课程的学习包含观看讲课视频及其它课程资源、完成单元测验和PTA编程作业、参与课程论坛的讨论、参加期末考试。
课程在线成绩由以下部分组成:
(1)在线作业:依据发布的PTA编程作业和Windows编程作业的完成质量,PTA编程作业由PTA系统自动批阅给分,Windows编程作业由教师和学生互评给分
(2)在线测试:每讲课后完成15-20道判断题和选择题,系统自动批阅给分
(3)课程论坛:讨论区有效发帖及回帖,按质量与数量综合评价给分
(4)视频学习:按系统记录的视频学习时长占比给分
(5)网上最后考试:按系统记录的最后考试成绩给分
课程大纲
第1章面向对象程序设计
课时目标:理解类与对象的定义;正确使用构造函数、复制构造函数和析构函数;利用类的组合理解对象的包含关系;通过静态、友元和常类型学会如何具体使用类的实例对象。
1.1面向对象程序设计思想
1.2类和对象
1.3类的构造函数和析构函数
1.4类的组合
1.5类的使用
1.5.1静态成员
1.5.2友元
1.5.3常类型
1.6动态内存分配
第2章继承性
课时目标:掌握派生类的声明和三种不同的继承方式,派生类存在时构造函数和析构函数的定义和调用;二义性问题的两种情况及其虚基类的使用;赋值兼容规则。
2.1继承与派生
2.2类的继承方式
2.3派生类的构造函数和析构函数
2.4派生中成员的标识与访问
2.5对象指针
第3章多态性
课时目标:掌握实现多态性的方法:函数重载、运算符重载和虚函数。
第4章泛型程序设计
课时目标:了解泛型编程的作用和模板的分类;掌握函数模板和类模板的使用。
第5章Windows编程基础
课时目标:了解Windows 编程基础知识,掌握利用API开发Win32程序实例的方法。
5.1Windows程序的特点
5.2Windows编程的基本概念
5.3Win32程序的基本结构
5.4Win32程序实例
5.5使用AppWizard生成Win32程序
第6章绘图与文本输出
课时目标:掌握图形设备接口、设备环境、绘图工具和颜色的设置与应用和常用绘图函数;学习图形绘制编程实例。
第7章MFC编程基础
课时目标:介绍MFC中类的组织结构及主要的类、MFC应用程序框架与Win32程序的关联,掌握应用程序向导的使用,MFC应用程序的消息映射。
7.1MFC类库简介
7.2使用AppWizard开发MFC应用程序
7.3MFC应用程序框架与Win32程序的关联
7.4MFC应用程序的启动流程
7.5MFC应用程序的消息映射机制
第8章基本控件的使用
课时目标:掌握各种控件的使用方法,包括按钮控件、滚动条控件、列表框控件、编辑框控件、组合框控件等,结合实例进行说明。
8.1控件
8.2编辑框类
8.3菜单类
8.4滚动条类
8.5按钮类
8.6列表框类
第9章文档∕视图结构
课时目标:掌握单文档、多文档的概念、文档/视图结构、使用AppWizard创建基于文档-视图结构的框架应用程序,以及文档类、视图类的应用,给出SDI/MDI编程实例。
9.1概述
9.2文档类
9.3视图类
9.4框架类
9.5文档模板
9.6文档∕视图结构实例
第10章设计用户界面
课时目标:掌握如何设计用户界面,包括菜单、加速键、工具栏、状态栏、对话框栏和通用对话框的编程等。
10.1菜单和加速键
10.2工具栏
10.3状态栏
10.4对话框
展开全部
预备知识
参考资料
推荐教材:
《面向对象程序设计与VC++实践》,主编:揣锦华,出版社:清华大学出版社,2016
参考书:
《C++语言程序设计(第4版)》,主编:郑莉等,出版社:清华大学出版社,2015
《C++程序设计(第3版)》,主编:谭浩强,出版社:清华大学出版社,2015
《Visual C++ 面向对象与可视化程序设计(第3版)》,主编:黄维通,出版社:高等教育出版社,2016
课程练习网站:
拼题A(Programming Teaching Assistant):https://pintia.cn/ 本课程的练习将在这里布置。
常见问题
需要成绩的同学请实名。
拼题A常见问题及解答
结 果 | 说 明 |
提交成功 | 对于判断、选择、填空题,系统已经接收到您的提交 |
稍后显示 | 对于判断、选择、填空题,在题目集关闭之前,不显示判题结果 |
已被覆盖 | 对于判断、选择、填空题,该提交已经被您的当前提交所覆盖,系统将只评判题目集关闭前对该题目的最后一次提交 |
等待评测 | 评测系统还没有评测到这个提交,请稍候 |
正在评测 | 评测系统正在评测,稍候会有结果 |
编译错误 | 您提交的代码无法完成编译,点击“编译错误”可以看到编译器输出的错误信息 |
答案正确 | 恭喜!您通过了这道题 |
部分正确 | 您的代码只通过了部分测试点,继续努力! |
格式错误 | 您的程序输出的格式不符合要求(比如空格和换行与要求不一致) |
答案错误 | 您的程序未能对评测系统的数据返回正确的结果 |
运行超时 | 您的程序未能在规定时间内运行结束 |
内存超限 | 您的程序使用了超过限制的内存 |
异常退出 | 您的程序在运行过程中崩溃了 |
非零返回 | 您的程序结束时返回值非 0,如果使用 C 或 C++ 语言要保证 int main 函数最终 return 0 |
段错误 | 您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起 |
浮点错误 | 您的程序运行时发生浮点错误,比如遇到了除以 0 的情况 |
输出超限 | 您的程序输出了过多内容,一般可能是无限循环输出导致的结果 |
内部错误 | 评测系统发生内部错误,无法评测。工作人员会努力排查此种错误 |