程序设计与算法(三)C++面向对象程序设计大学慕课

不论教学经验还是开发经验都十分丰富。因此讲授的内容特别贴合实践,各种样例程序都非常实用,鲜活。作业和考试题都是在线提交程序,系统自动评测,符合当下顶尖IT企业招聘考核的形式,学习效果极好。

——课程团队

课程概述

本课程讲授C++程序设计有关的概念和语法,使你能够使用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序。要求学习者已经掌握C语言程序设计。这门课将带你掌握C++语言中类、对象、运算符重载、继承、多态等面向对象的程序设计方法,以及模板、标准模板库STL等泛型程序设计的机制,体会和领悟面向对象程序设计方法和泛型程序设计方法的优势。

本课程作业和考试题都是在线提交程序,系统自动评测,容不得半点错误,这对学习者是非常严格而且有效的训练,符合当下顶尖IT企业招聘考核的形式,学习效果远胜于书面作业人工批改的形式。期末还有一个大型的游戏模拟程序作业《魔兽世界》,深受北京大学信息学院学生欢迎,能够很好地训练C++面向程序设计的技能。

本课程作业和考试网址:cxsjsxmooc.openjudge.cn

郭炜老师还在中国大学MOOC开设另外三门好评如潮的4.9分高分课程,请不要错过:

1)程序设计与算法(一)C语言程序设计(国家精品)

0基础学习者应该先学习这门课程

2)程序设计与算法(二)算法基础(国家精品)

3)实用Python程序设计(强烈推荐,Python的百科书式大全课程,入门、提高均非常适合!)

授课目标

1.掌握面向对象程序设计的各种概念、机制及其用法2.掌握C++泛型程序设计,熟练编写各类模板3.熟练使用C++的标准模板库4.初步具备用C++语言和面向对象的方法开发大型程序的能力

课程大纲

01

从C到C++

课时

1.1.引用

1.2.const关键字

1.3.动态内存分配

1.4.内联函数和重载函数函数参数缺省值

1.5.类和对象的基本概念(1)

1.6Openjudge在线做题必读

02

类和对象基础

2.1.类和对象的基本概念(2)

2.2.构造函数

2.3.复制构造函数

2.4.类型转换构造函数和析构函数

2.5.构造函数析构函数调用时机

03

类和对象提高

3.1.this指针

3.2.静态成员变量

3.3.成员对象和封闭类

3.4.常量对象、常量成员函数

3.5.友元

04

运算符重载

4.1.运算符重载的基本概念

4.2.赋值运算符的重载

4.3.运算符重载为友元

4.4.可变长数组类的实现

4.5.流插入运算符和流提取运算符的重载

4.6.类型转换运算符的重载

4.7.自增自减运算符的重载

05

继承

5.1.继承和派生的基本概念

5.2.继承关系和复合关系

5.3.覆盖和保护成员

5.4.派生类的构造函数

5.5.公有继承的赋值兼容规则

06

多态

6.1.虚函数和多态的基本概念

6.2.多态实例:魔法门之英雄无敌

6.3.多态实例:几何形体程序

6.4.多态的实现原理

6.5.虚析构函数、纯虚函数和抽象类

07

输入输出和模板

7.2.用流操纵算子控制输出格式

7.3.文件读写(一)

7.4.文件读写(二)

7.5.函数模板

7.6.类模板

7.类模板与派生、友元和静态成员变量

08

标准模板库STL(一)

8.1.string类

8.2.标准模板库STL概述(一)

8.3.标准模板库STL概述(二)

8.4.vector,deque和list

8.5.函数对象

09

标准模板库STL(二)

9.1.set和multiset

9.2.map和multimap

9.3.容器适配器

9.4.STL算法(一)

9.5.STL算法(二)

10

C++11新特性和C++高级主题

10.1.C++11新特性(1)

10.2.C++11新特性(2)

10.3.强制类型转换

10.4.异常处理

预备知识

要求掌握C语言程序设计。如果没有掌握,请先学《程序设计与算法(一)C语言》

证书要求

为积极响应国家低碳环保政策,2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

认证证书申请注意事项:

2.完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。

参考资料

清华大学出版社《新标准C++程序设计教程》,郭炜编著(适用于零基础学习者)

常见问题

答:这门课的老师不但在北京大学讲授C++程序设计十五年,深受学生欢迎,还用C++开发了多款商业软件,不但有丰富的教学经验,还有丰富的实际开发经验。因此教学更加贴近实践。

本课程一切围绕着能写程序这个目标来教学,绝不纠缠语法细节。作业全部都是在北京大学在线程序评测平台提交的编程题,要求严格,切切实实地训练编程能力。还有一个大规模的面向对象编程作业《魔兽世界》,充分体现面向对象编程的方法。

2.我可以零基础学这门课吗?

答:不可以。必须先掌握C语言。如果您零基础,请先学习《程序设计与算法(一)C语言》

THE END
1.程序员必须掌握的算法系列之编程基础算法编程的50种基础算法程序员编程基础算法 一:引言 算法是计算机科学的核心,是程序员必须掌握的基本技能之一。无论是解决实际问题,还是在面试中展现自己的编程能力,算法都起着至关重要的作用。 程序员需要掌握算法的原因有以下几点: 提高代码的效率和质量:合理选择和设计算法,能够在有限的时间和资源内解决问题,提高代码的执行效率和质量。 https://blog.csdn.net/VicdorLin/article/details/133136115
2.想成为编程大佬必备32种算法,你们都知道哪几种呢?编程学习算法00:00/00:00 想成为编程大佬必备32种算法,你们都知道哪几种呢?编程 学习 算法 知识分享 干货 拳击那点事发布于:江西省2024.11.29 00:00 +1 首赞 想成为编程大佬必备32种算法,你们都知道哪几种呢?编程 学习 算法 知识分享 干货https://www.sohu.com/a/831450555_100114195
3.零基础该如何学习算法–PingCode零基础学习算法首先应该建立在对算法的基本概念和重要性的理解上。接下来,需要遵循理解算法原理、练习编程实现、分析算法性能的学习路径。其中,理解算法原理是基础,这涉及到对算法设计与分析的基本知识的学习,比如算法的定义、分类、以及它们解决问题的通用方法等等。一个好的开始是通过阅读算法入门书籍或者在线课程,抓住算https://docs.pingcode.com/ask/195971.html
4.学编程网学编程网一个面向编程初学者提供零基础编程技术与教程,程序员学习技术找资料的网站,Python教程、C++教程、PHP教程、WEB前端教程、java教程、小程序开发、公众号开发、影视剪辑、后期特效、算法与数据结构等课程在内的各种入门教程;是国内领先实用的综合性编程学习网站!https://www.xuebc.com/
5.零基础学算法(第3版)(戴艳著)高清pdf文字版[13MB]电子书下载☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持! ☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。 ☉ 本站提供的零基础学算法(第3版) (戴艳著) 高清pdf文字版[13MB]资源来源互联网,版权归该下载资源的合法拥有者所有。https://www.jb51.net/books/608081.html
6.零基础入门学习Python0基础学习第2二版李佳宇python编程从流畅的Python第2二版 编程从入门到实战程序零基础自学实践深度学习手册数据分析结构与算法教材计算机快速精通教程书代码 ¥139.86 Anaconda数据科学实战 python入门自学零基础教程书程序员电脑编程实战python网络爬虫算法脚本程序设计计算 ¥76.21 C PrimerPlus(第6版)中文版习题解答c语言习题集c程序员入门书籍计算机http://product.m.dangdang.com/11245993731.html
7.python编程入门零基础学习Python基础(附带最新免费教程)本篇是面向编程零基础学员的Python入门教程,内容涵盖了Python的基础知识和初步应用。以较轻快的风格,向零基础学习者介绍了一门时下比较流行的、并且用途比较广泛的编程语言。同时,其语法简洁而清晰,类库丰富而强大,非常适合于进行快速原型开发。另外,Python可以运行在多种系统平台下,从而使得只需要编写一次代码,就可以多https://www.jianshu.com/p/8ca9a1cbd342
8.零基础学C语言老九零基础学习编程系列之一老九学堂徐嵩老师主讲[2] 1.2算法和流程图 2869播放 待播放 [3] 1.3c语言简历 2808播放 12:37 [4] 【零基础学C语言】老九零基础学习编 2606播放 20:32 [5] 1.5c语言的编程和执行 2758播放 28:11 [6] 1.6课堂小结 1231播放 29:19 [7] 2.1课前回顾 978播放 03:29 [8] 2.2内存中如何存放数据 1883播放 https://open.163.com/newview/movie/free?pid=IFJGH8IN2&mid=YFJIA3HSH
9.从零开始:机器学习的数学原理和算法实践零基础读者应如何快速入门机器学习?数学基础薄弱的读者应如何理解机器学习中的数学原理?这些正是本书要解决的问题。本书从数学基础知识入手,通过前3章的介绍,帮助读者轻松复习机器学习涉及的数学知识;然后,通过第4~第13章的介绍,逐步讲解机器学习常见算法的相关知识,帮助读者快速入门机器学习;最后,通过第14章的综合实https://www.epubit.com/bookDetails?id=UB77b8ad3a2522b
10.换个姿势学FPGA:《零基础学FPGA设计—理解硬件编程思想》没有一本书能够把FPGA设计的方方面面都讲到,通过学习一本书就能完全掌握FPGA设计的所有技巧只是一个美好的愿望而已。熟练的应用需要学习者大量的练习和思考。《零基础学FPGA设计——理解硬件编程思想》只是采用另一种姿势,给大家提供另一种学习的方https://mp.weixin.qq.com/s?__biz=MzIzODYzOTM4MA==&mid=2247484887&idx=1&sn=d245fa2d045e903d37f4fbd9b0148c5c&chksm=e93705acde408cba66e535e2e9fa6f466c8848dc15c8192ca596cfe7509737d77d36106a3724&scene=27
11.Python零基础到入门Python基础语法篇——运算符学习本文章是【Python零基础到入门专栏】学习的系列文章 Python专栏 传送门 在此:https://blog.csdn.net/zhangay1998/category_11086734.html 本篇文章来说一下Python运算符,也是Python之路上一个必备的操作~ 提示:本文的环境配置是Python3的开发环境,后续教程也都是Python3 https://cloud.tencent.com/developer/article/1979574
12.零基础编程培训学费要多少4. 学习算法和数据结构:学习算法和数据结构是编程的基础,掌握它们可以提高编程的效率和质量。 零基础编程哪家培训好? 如果你想要系统的学习编程,建议来火星时代。火星时代提供了系统、全面的编程课程,以帮助学员从零基础开始,逐步掌握编程技能。而且拥有完备的教学设施和先进的教学技术,能够为学员提供优质的教学体验。学https://www.hxsd.com/content/32358/
13.零基础学习C语言/C++编程的正确学习方式,你会学习吗?以上就是一个学习的流程,从零基础有顺序的学习,才能走得快一点,而不是盲目。 如果对这方面感兴趣或者在学习C/C++的过程中有什么问题的话,可以加群:627 012 464,群内有大量C/C++资料,也会有人解答问题,大家一起学习,一起交流。希望每位学习C/C++的人都能学有所成。赞https://www.douban.com/group/topic/112596541/?author=1
14.零基础学Minecraft编程2024pdfepubmobi电子书零基础学Minecraft编程 2024 pdf epub mobi 电子书 著者简介 作者:[英]MARTIN O'HANLON 在整个成年后的时间里,一直都在设计和编写计算机系统。他对于编程及帮助他人学习的热情,指引着他创建了名为 的博客(www.stuffaboutcode.com),在博客里分享了他的经验、技能和想法。Martin经常向程序员、教师和年轻人发表关于Mihttps://onlinetoolsland.com/books/26613247
15.Python基础知识Python编程基础算法Python作为目前编程开发的主流语言之一,在企业中的应用范围越来越广,广阔的发展前景吸引了很多小伙伴想要入行Python,在学习Python时,一定要对基础技术知识有一个良好的了解,这样才会事半功倍,今天八维职业学校就和大家一起来看看Python编程中的基础算法,希望对各位学子有帮助。 https://www.bwie.com/jsgh/66.html