Peking University

C++程序设计

本课程是 程序设计与算法 专项课程 的一部分

Jiaying Liu 刘家瑛, Ph.D.
郭 炜

位教师:Jiaying Liu 刘家瑛, Ph.D.

42,266 人已注册

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
4.7

(812 条评论)

5 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
89%
大多数学生喜欢此课程
深入了解一个主题并学习基础知识。
4.7

(812 条评论)

5 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
89%
大多数学生喜欢此课程

要了解的详细信息

可分享的证书

添加到您的领英档案

作业

9 项作业

授课语言:中文(简体)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

积累特定领域的专业知识

本课程是 程序设计与算法 专项课程 专项课程的一部分
在注册此课程时,您还会同时注册此专项课程。
  • 向行业专家学习新概念
  • 获得对主题或工具的基础理解
  • 通过实践项目培养工作相关技能
  • 获得可共享的职业证书

该课程共有12个模块

在完成了计算导论和C程序设计两门课程之后,你是不是被编写程序中逻辑思维的过程与设计精秒的小程序解决实际生活中的问题所深深吸引?你是不是有时也会为大篇幅的程序设计中查错、复用等问题而纠结?快来加入专项课程的第三门课程《C++程序设计》中来吧,为你撑起“面向对象”的另一片天地!通过这门课程的学习,你将有能力驾驭大规模的程序开发,提升自身的编程素养,并为后续的算法、数据结构等课程的学习奠定坚实的基础!PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)

涵盖的内容

2个视频2篇阅读材料

C++是在C语言的基础上创建的一门功能更为强大的面向对象程序设计语言。在正式开始C++程序设计学习之初,我们首先回顾C语言中的高级内容,包括函数指针、命令行参数、位运算和动态内存分配,并在此基础上对C语言进行扩充,引入了引用、const关键字和常量、内联函数和重载函数、函数缺省参数等内容,为后续的C++程序设计的学习打下基础。面向对象的程序设计更接近于真实世界,它要分析待解决的问题中,有哪些类事物,每类事物都有哪些特点,不同的事物种类之间是什么关系,事物之间如何相互作用。本模块将初步介绍面向对象的程序设计的基本内容,尤其是“类”和“对象”这两个重要概念。PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)

涵盖的内容

12个视频2篇阅读材料2个作业2个编程作业

在对类和对象有了初步的了解后,大家已经知道类是C++中十分重要的概念,它是实现面向对象程序设计的基础。类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。本模块将进一步介绍类和对象的相关深入概念与内容,包括用于初始化的构造函数,以及复制构造函数,析构函数等。

涵盖的内容

10个视频1篇阅读材料1个作业1个编程作业

如果不做特殊处理的话,C++的“+”“-”“*”“/”等运算符只能用于对基本类型的常量或变量进行运算,不能用于对象之间的运算。我们希望对象之间也能用这些运算符进行运算,例如,复数之间是可以进行四则运算的,两个复数对象相加如果直接用“+”运算符完成,那不是很直观和简洁吗?本模块将介绍利用C++提供的“运算符重载”机制,赋予运算符新的功能,就能解决对象之间运算的问题。

涵盖的内容

6个视频1篇阅读材料1个作业1个编程作业

代码重用是提高软件开发效率的重要手段,因此C++对代码重用有很强的支持,继承与派生就是支持代码重用的机制之一。例如,要编写一个学生管理程序,必然要设计一个“学生”类,“学生”类会包含学生共有的姓名、学号等属性,但是中学生、大学生、研究生又有各自不同的属性和方法,如果为每种学生单独编写一个类会造成重复与浪费。本模块将介绍通过继承和派生机制,可以在基类的基础上派生出不同的类,从而达到代码重用的目的。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

多态是指同一名字的事物可以完成不同的功能,例如有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。在C++中,所谓多态性是指由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能有效增加程序的灵活性。

涵盖的内容

6个视频1篇阅读材料1个编程作业

计算机中为了便于数据的管理和检索,引入了“文件”的概念。在程序中,要使用一个文件,先要打开,打开后才能读写,读写完后要关闭。本模块将介绍C++流类相应的成员函数来实现文件操作的功能。此外,你还将学习到如何通过编写模板进行泛型程序设计,所谓“泛型”就是算法只要实现一遍,就能适用于多种数据类型。也可以说,泛型程序设计就是大量编写模板、使用模板的程序设计。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

本模块将介绍C++的标准模板库(Standard Template Library,STL),这是泛型程序设计最成功的应用实例。STL是一些常用数据结构(如链表、可变长数组、排序二叉树)和算法(如排序、查找)的模板的集合。有了STL,你就不必编写大多的、常用的数据结构和算法。即便不想用面向对象的程序设计方法编程,学习STL也是大有裨益的。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

本模块将继续介绍C++的标准模板库(Standard Template Library,STL),这是泛型程序设计最成功的应用实例。STL是一些常用数据结构(如链表、可变长数组、排序二叉树)和算法(如排序、查找)的模板的集合。有了STL,你就不必编写大多的、常用的数据结构和算法。即便不想用面向对象的程序设计方法编程,学习STL也是大有裨益的。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

基础Wow~ 恭喜你已顺利完成了C++课程八个模块知识点的学习,在被魔兽世界各种虐心虐神之后,有没有对于C++有着一点高屋建瓴的别样体会啊?快来最后体验一下我们的期末测试吧(这是原汁原味的北京大学该课程试题,没有任何改动)!也希望与大家相聚在专项课程的下一门《算法设计》课程中,有了C和C++两种程序语言的基础,你需要进一步提升自身的算法设计技巧,让程序跑的通,还要跑的妙!

涵盖的内容

1个作业1个编程作业

[选学] C++高级主题和C++11新特性: 本模块给大家介绍一些C++程序设计的进阶内容,以及最新C++11标准的部分新特性。该模块内容不属于本课程必须掌握的教学内容,但是通过了解和学习必将为你打开一扇C++学习的新门,继续探索程序设计的各种精妙与美好!

涵盖的内容

4个视频1篇阅读材料

每一次的结束与分离,都是为了我们下一次更好的相遇。期待与你相会在《算法基础》课程!这次的视频我们来点儿不一样的吧 ^_____^

涵盖的内容

1个视频

获得职业证书

将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。

位教师

授课教师评分
4.8 (14个评价)
Jiaying Liu 刘家瑛, Ph.D.
Peking University
3 门课程57,534 名学生
郭 炜
Peking University
3 门课程57,534 名学生

提供方

Peking University

从 Software Development 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

学生评论

4.7

812 条评论

  • 5 stars

    83.60%

  • 4 stars

    10.85%

  • 3 stars

    3.20%

  • 2 stars

    1.10%

  • 1 star

    1.23%

显示 3/812 个

RX
5

已于 Oct 21, 2017审阅

XX
4

已于 Dec 7, 2016审阅

TT
4

已于 Nov 11, 2015审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题