程序设计与算法(三)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.计算机小白的成长历程——分支与循环(8)这里可能就会有朋友奇怪了,为什么第一个循环是到80不是到90呢,这里涉及到for语句的逻辑顺序了,for语句在下一次判定前进行的递进语句,也就是说,如果判断语句是90,那在出循环的时候,a的值就变成了99,直接把90~99之间的9给略过了,所以,这里需要到89就跳出循环,进入下一个循环,因为跳出循环后的值是我们需要用的https://www.ctyun.cn/zhishi/p-449350
2.编程的多种方式组成编程方式分为,编程方式的多样性,编程方式分类编程,作为现代科技的核心,已经渗透到我们生活的方方面面,无论是手机应用、网页游戏,还是大型的软件开发、人工智能算法,都离不开编程的支撑,编程方式多种多样,各有其特点和适用场景,本文将详细介绍编程的几种主要方式组成。 编程的基本方式 1、命令式编程 http://www.skypure.com.cn/post/32601.html
3.10个C语言基础算法10个C语言基础算法 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。1、计算Fibonacci数列 Fibonacci数列又称斐波那契https://baijiahao.baidu.com/s?id=1647248856159193682&wfr=spider&for=pc
4.C++编程题目算法大全曾经在软通动力写过的算法题其中有一小部分是参考网上的资料,现在拿出来给大家分享!第3章控制语句/*1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其..https://www.docin.com/p-701976641.html
5.Ctl**嫁衣上传16.23MB文件格式pdf数值算法 C语言数值算法程序大全中文,常用算法的c语言编程大全 (0)踩踩(0) 所需:1积分 C++实验: 对象的赋值与复制 2024-12-03 16:49:24 积分:1 软件工程笔记(完整版).doc 2024-12-03 14:50:38 积分:1 软件无线电-第3章-多模式调制解调.ppt https://www.coder100.com/index/index/content/id/2794411
6.第3款编程有趣的动画+核心算法+程序代码儿童第3款编程|有趣的动画+核心算法+程序代码,是儿童类高清视频,于20220801上映。简介:抽红包:用嵌套的思维模式抽取红包的过程,以及运用随机函数设置红包的额度,通过编程实现生活中的抽奖,收红包的实例,提长逻辑思维能力及解决问题的能力https://m.iqiyi.com/v_g9bvr2nku8.html
7.C#算法大全集各种算法于一身资源了解并熟练掌握各种排序算法有助于提升C#编程能力,因为排序是许多实际问题的基础,如数据库查询优化、数据分析等。不同的场景可能需要选用不同的排序算法,理解它们的工作原理和性能特点,可以帮助我们更好地选择和优化代码。 展开 资源详情 资源评论 C# 算法大全(转)https://download.csdn.net/download/buggub/1222986
8.什么是算法编程?最常用的算法有哪些编程算法是什么意思?相信问这个问题的同学一定是个零基础刚刚入门编程的小白,针对这个问题,本文将介绍编程算法的基本概念,并且盘点五个经典的编程算法,帮助大家基础入门。 1、算法是什么意思? 算法是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制,就是生活中的实际问题,转化成数学问题去解决,https://m.elecfans.com/article/1670573.html
9.史上最全滤波算法(Arduino编程)电路方案本人分享的是十大滤波算法程序大全(Arduino精编无错版) 最近用Arduino做电子秤,为了解决数据的跳变研究了不少滤波算法。网上能找到大把的十大滤波算法帖子,每一篇都不太一样,都号称精编啊,除错啊什么的,可是放到板子里却没一个能正常跑起来的。于是决定自己整理一下这些程序,完美移植到Arduino中。 所以大家看到这个文https://www.eefocus.com/circuit/1061076.html
10.c语言编程题大全(精选10篇)C语言考试系统已普遍在各高校使用,对于客观题方面,有了相对完善公平的系统,但是在自动评分方面,还有很多不足之处,有待改善,本系统就是针对这一空白区域,设计公平而相对更准确的算法,主要对C语言考试系统中的编程题部分进行得分点分割,对考生的程序一步步细致分析,做到该得分的地方给考生相应的分数,这样避免了某一点https://www.360wenmi.com/f/fileo8kpp87u.html
11.VisualBasic常用算法大全Visual Basic应用程序编程常用算法大全.rar 立即下载 上传者: stringleo 时间: 2008-04-23 Visual Basic 算法大全 Visual Basic 算法大全包括三个子目录,内容分别如下:1、子过程 该子目录下包含了“VB常用算法大全”书中的全部常用算法子过程。2、验证子过程 该子目录下按章存放验证上述常用算法子过程的全部https://www.iteye.com/resource/wolailecao-2919150
12.大数据类,并发编程,数据库类,数据挖掘,新面试题,架构设计,算法Hadoop,HeadFirst,Java,Javascript,jvm,Kafka,Linux,Maven,MongoDB,MyBatis,MySQL,Netty,Nginx,Python,RabbitMQ,Redis,Scala,Solr,Spark,Spring,SpringBoot,SpringCloud,TCPIP,Tomcat,Zookeeper,人工智能,大数据类,并发编程,数据库类,数据挖掘,新面试题,架构设计,算法系列,计算机类,设计模式,软件测试,重构优化,等更多https://github.com/congtong/pdf
13.编程英语(大全)编程英语(大全) 第一部分: application 应用程式 应用、应用程序 application framework 应用程式框架、应用框架 应用程序框架 architecture 架构、系统架构 体系结构 argument 引数(传给函式的值)。叁见 parameter 叁数、实质叁数、实叁、自变量 array 阵列 数组https://www.jianshu.com/p/6db3dc606773
14.28个不得不看的经典编程算法发起人的描述:《来自圣经的证明》收集了数十个简洁而优雅的数学证明,迅速赢得了大批数学爱好者的追捧。如果还有一本《来自圣经的算法》,哪些算法会列入其中呢? ***名:Union-find 严格地说,并查集是一种数据结构,它专门用来处理集合的合并操作和查询操作。并查集巧妙地借用了树结构,使得编程复杂度降低到了令人难以置https://mobile.51cto.com/news-455988.htm
15.Python基础知识Python编程基础算法Python作为目前编程开发的主流语言之一,在企业中的应用范围越来越广,广阔的发展前景吸引了很多小伙伴想要入行Python,在学习Python时,一定要对基础技术知识有一个良好的了解,这样才会事半功倍,今天八维职业学校就和大家一起来看看Python编程中的基础算法,希望对各位学子有帮助。 https://www.bwie.com/jsgh/66.html
16.编程中常用算法解读–星鱼编程中常用算法解读 通过比较经典的例题去讲解一些常用的算法思想,常用的算法思想包括:枚举、递归、分治、贪心、试探、动态迭代和模拟等。下面对最为常见的算法思想进行解读,包括:枚举、递归、分治、贪心。 1.枚举算法 枚举算法我们也称之为穷举算法,就是“逐个测试”,这种算法就是在解决问题的时候去使用所有的方式去https://www.fishblock.cn/suanfa/
17.C程序设计常用算法代码litan1986一、计数、求和、求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 http://blog.chinaunix.net/uid-22327815-id-1775075.html
18.编程达人游戏新锐,算法少年考上华东师大刚开始接触算法竞赛时,许乐并不适应竞赛这种需要开展高强度算法设计与编程实现的场境。一场比赛四个多小时,不仅考验选手的算法思维,也考验选手的体力消耗。 面对更强的挑战和更大的不确定性,许乐最初也产生过自我怀疑,但他迅速调整心态,把更多的时间花在系统学习和补齐短板上,试图攻克竞赛中那些随机性大、难度高、https://www.ecnu.edu.cn/info/1094/63437.htm
19.Scratch编程算法ppt教学课件(共9份)Scratch编程-算法ppt教学课件(共9份) 2024/1/3 13:33:39 发布浏览量:344下载量:1 更多 版权异议挑错建议 共149页 第1课:赋值与四则运算 学习大纲 第一章 学习目标 第二章 编码实现 第三章 每课一练 第四章 总结拓展 编程 CONTENTS 第五节 创新作业 2 1、学习目标 项目演示 知识点 1 如何在scratchhttps://www.zxxk.com/soft/42654805.html