清华大学视频课件:面向对象程序设计(C++)(自主模式)
课程简介
C++是从C语言发展演变而来的一种面向对象的程序设计语言。面向对象的程序设计方法将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类通过外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系简单,程序模块的独立性、数据的安全性具有良好的保障,通过继承与多态性,使程序具有很高的可重用性,使得软件的开发和维护都更为方便。
由于面向对象方法的突出优点,目前它已经成为开发大型软件时所采用的主要方法。而C++语言是应用最广泛的面向对象的程序设计语言之一。
本课程是一门面向广大初学者的入门课程,自1999年开始在清华大学开设,本课程的教材已经在清华大学等一百多所学校的不同专业中使用,取得了良好的教学效果。
本课程将C++语言作为大学生的计算机编程入门语言,不仅详细介绍语言本身,而且介绍常用的数据结构和算法、面向对象的设计思想和编程方法。课程以面向对象的程序设计方法贯穿始终,每一章都是首先阐述面向对象的程序设计思想和方法,由实际问题入手,然后引出必要的语法知识,在讲解语法时着重从程序设计方法学的角度讲述其意义和用途。
本课程是清华校内同名课程的完整版,内容全面,难度适中,包括了ISO第三版C++标准(C++11)的新内容。
徐明星,博士,副教授。国家级精品课程“程序设计基础”课程负责人、国家级精品资源共享课“计算机语言与程序设计”建设负责人。主讲《程序设计基础》、《面向对象程序设计基础》、《信号处理原理》等计算机专业基础课程。作为主要成员参与编写的《程序设计基础(第3版)》(清华大学出版社出版)评为普通高等教育“十二五”规划教材。曾获北京市高等教育教学优秀成果一等奖、清华大学青年教师教学优秀奖、清华大学清韵烛光“学生最喜爱的老师”称号。主要研究兴趣包括:语音识别与理解、情感计算和跨媒体计算等。目前,作为项目负责人承担国家自然科学基金面上项目1项;作为项目骨干或子课题负责人参与国家973项目1项、自然科学基金重点项目1项、社会科学基金重点项目1项、863项目1项。
课程章节
直接点击博客网页连接就可以进入下载页面,点击后可能会多次弹出广告页面,请量解,点击普通下载。点击普通下载。
将网址复制粘贴到浏览器地址栏,点击后可能会有广告,请量解,点击普通下载。
第一讲 课程简介与编程环境
1.0 课程定位、教学内容 https://u7765370.pipipan.com/fs/7765370-228351118
1.1.1 程序结构与编译链接 https://u7765370.pipipan.com/fs/7765370-228351663
1.1.2 源程序拆分 https://u7765370.pipipan.com/fs/7765370-228352041
1.1.3 多文件编译链接的方法 https://u7765370.pipipan.com/fs/7765370-228353368
1.2 main函数的命令行参数 https://u7765370.pipipan.com/fs/7765370-228354105
作业一 https://u7765370.pipipan.com/fs/7765370-228485605
第二讲 基础语法(1)
2.1 变量定义 https://u7765370.pipipan.com/fs/7765370-228355259
2.2 变量的初始化、类型推导与基于范围的循环 https://u7765370.pipipan.com/fs/7765370-228356551
2.3 函数重载 https://u7765370.pipipan.com/fs/7765370-228357250
2.4 函数参数的缺省值与追踪返回类型的函数 https://u7765370.pipipan.com/fs/7765370-228359875
2.5 类的定义 https://u7765370.pipipan.com/fs/7765370-228360654
2.6 类成员的访问权限与友元 https://u7765370.pipipan.com/fs/7765370-228361227
作业二 https://u7765370.pipipan.com/fs/7765370-228486428
第三讲 基础语法(2)
3.1 构造函数析构函数 https://u7765370.pipipan.com/fs/7765370-228362750
3.2 赋值运算符重载 https://u7765370.pipipan.com/fs/7765370-228363683
3.3 流运算符重载 https://u7765370.pipipan.com/fs/7765370-228364764
3.4 函数运算符重载 https://u7765370.pipipan.com/fs/7765370-228365649
3.5 下标运算符与自增减运算符重载 https://u7765370.pipipan.com/fs/7765370-228366774
3.6 静态成员与常量成员 https://u7765370.pipipan.com/fs/7765370-228367793
3.7 对象组合 https://u7765370.pipipan.com/fs/7765370-228368302
3.8. 1移动构造函数 https://u7765370.pipipan.com/fs/7765370-228368964
3.8.2 移动构造函数 https://u7765370.pipipan.com/fs/7765370-228371021
3.9 default修饰符 https://u7765370.pipipan.com/fs/7765370-228371529
作业三 https://u7765370.pipipan.com/fs/7765370-228486779
第四讲 基础语法(3)
4.1 继承 https://u7765370.pipipan.com/fs/7765370-228373652
4.2 函数重写 https://u7765370.pipipan.com/fs/7765370-228381839
4.3.1 虚函数 https://u7765370.pipipan.com/fs/7765370-228386263
4.3.2 虚函数 https://u7765370.pipipan.com/fs/7765370-228387312
4.4 自动类型转换 https://u7765370.pipipan.com/fs/7765370-228493544
4.5 禁止自动类型转换 https://u7765370.pipipan.com/fs/7765370-228389611
4.6 强制类型转换 https://u7765370.pipipan.com/fs/7765370-228391146
4.7 函数模板 https://u7765370.pipipan.com/fs/7765370-228392318
4.8 类模板 https://u7765370.pipipan.com/fs/7765370-228393693
4.9 成员函数模板 https://u7765370.pipipan.com/fs/7765370-228394650
4.10 模板特化 https://u7765370.pipipan.com/fs/7765370-228377905
作业四 https://u7765370.pipipan.com/fs/7765370-228492195
第五讲 找到对象,确定接口
5.0 引言 https://u7765370.pipipan.com/fs/7765370-228396029
5.1 从FOP到OOP https://u7765370.pipipan.com/fs/7765370-228396777
5.2 对象在哪里 https://u7765370.pipipan.com/fs/7765370-228397689
5.3 接口在哪儿 https://u7765370.pipipan.com/fs/7765370-228398076
5.4 实现接口 https://u7765370.pipipan.com/fs/7765370-228398545
5.5 变与不变:多态的威力 https://u7765370.pipipan.com/fs/7765370-228399521
5.x小结 https://u7765370.pipipan.com/fs/7765370-228493760
第六讲 算法横向拆分,分离步骤
6.0 引言 https://u7765370.pipipan.com/fs/7765370-228417067
6.1 从负载监视器的设计开始 https://u7765370.pipipan.com/fs/7765370-228417107
6.2 接口的分离与单一责任原则 https://u7765370.pipipan.com/fs/7765370-228417219
6.3 委托与接口的进一步分解 https://u7765370.pipipan.com/fs/7765370-228417271
6.4 分离不同层面的可变性 https://u7765370.pipipan.com/fs/7765370-228417372
6.X 小结 https://u7765370.pipipan.com/fs/7765370-228494837
第七讲 算法纵向拆分,分离表示
7.0 引言 https://u7765370.pipipan.com/fs/7765370-228417409
7.1 迭代器 https://u7765370.pipipan.com/fs/7765370-228417459
7.2 迭代器的实现 https://u7765370.pipipan.com/fs/7765370-228417497
7.3 迭代器与模板 https://u7765370.pipipan.com/fs/7765370-228417578
7.4 算法与数据的解耦 https://u7765370.pipipan.com/fs/7765370-228417659
7.5 抽象结构与类模板 https://u7765370.pipipan.com/fs/7765370-228417725
7.6 函数对象与算法分解 https://u7765370.pipipan.com/fs/7765370-228417805
7.7 基于模板的策略模式 https://u7765370.pipipan.com/fs/7765370-228417844
7.X 小结 https://u7765370.pipipan.com/fs/7765370-228495204
第八讲 基于接口组合,应对复杂变化
8.0 引言 https://u7765370.pipipan.com/fs/7765370-228417922
8.1 已有资源的组合 https://u7765370.pipipan.com/fs/7765370-228418163
8.2 适当引入接口 https://u7765370.pipipan.com/fs/7765370-228418518
8.3 接口不变时的功能变化 https://u7765370.pipipan.com/fs/7765370-228418941
8.4 装饰 https://u7765370.pipipan.com/fs/7765370-228420942
8.5 责任的传递与责任链 https://u7765370.pipipan.com/fs/7765370-228422756
8.X 小结 https://u7765370.pipipan.com/fs/7765370-228425751
第九讲 增加抽象层级,隔离复杂变化
9.0 引言 https://u7765370.pipipan.com/fs/7765370-228426223
9.1 通过封装增加隔离、应对变化 https://u7765370.pipipan.com/fs/7765370-228426984
9.1.1 通过封装增加隔离、应对变化 https://u7765370.pipipan.com/fs/7765370-228427938
9.2.1 增加抽象层,应对变化 https://u7765370.pipipan.com/fs/7765370-228429881
9.2.2 增加抽象层,应对变化 https://u7765370.pipipan.com/fs/7765370-228433060
9.3 相互关联对象的创建 https://u7765370.pipipan.com/fs/7765370-228439558
9.4 示例:自动组卷系统设计 https://u7765370.pipipan.com/fs/7765370-228441274
9.5 设计思路(上) https://u7765370.pipipan.com/fs/7765370-228448170
9.6 设计思路(中) https://u7765370.pipipan.com/fs/7765370-228450593
9.7 设计思路(下) https://u7765370.pipipan.com/fs/7765370-228454583
9.X 小结 https://u7765370.pipipan.com/fs/7765370-228458890
课程总结 https://u7765370.pipipan.com/fs/7765370-228471533
QQ:2774494285 。