C++语言及应用开发

课程总评成绩由平时成绩+期末成绩构成

1.期中考试成绩

2.实验考核成绩

3.期末成绩

学过C语言,了解数据类型、分支循环、函数、数组、指针;

或者

学过Java,但需要额外补学C/C++的指针(指针定义、解引用、指针作为函数返回值和参数)

学过Python,但需要额外补学C/C++的数据类型、数组、指针

第1单元:C++概览

第01节:C++编程范式与现代C++标准

第02节:学习C++:参考书和编程环境

第03节:VisualStudio集成开发环境

第04节:EclipseCDT集成开发环境

第05节:如何快速学习本课程?

第06节:常见问题解答

第1单元测验

作业1:测试你的C++编译器支持的标准

作业2:【选做】安装EclipseForC/C++或者EclipseCDT版本

第2单元:C++程序基础

第00节:单元导学

第01节:C++源代码和编码规范

第02节:AlohaWorld代码示例

第03节:名字空间

第04节:编译C++程序

第05节:处理错误

第06节:输入和输出

第2单元测验

第2单元作业1:在线编程-输入与输出

第2单元作业2:在线编程-名字空间

第3单元:C语法的增强及对应的C++11特性

第01节:引用、[C++11]空指针与动态内存分配

第02节:数据类型与转换、[C++11]列表初始化

第03节:[C++11]自动类型推导:类型系统、auto与decltype

第04节:简化的C++内存模型

第05节:常量与指针

第06节:特殊函数:重载、默认参数值与内联

第07节:[C++11]基于范围的for循环

第08节:[C++17]带有初始化器的if和switch语句

第3单元测验

第3单元作业1:在线编程-引用作为函数参数

第3单元作业2:在线编程-重载函数

第4单元:对象和类(基础)

第01节:用类创建对象

第03节:对象指针、对象数组以及函数参数

第04节:抽象、封装与this指针

第05节:[C++11]类数据成员的初始化

第06节:string类以及[C++11]std::array类

第4单元测验

4.1.在线编程-解析整数范围

4.2.在线编程-【选做】解析有干扰字符的整数范围

4.3.在线编程-遍历对象数组

4.4在线编程-创建Screen类

4.5在线编程-【选做】带有参数边界检查的Screen类

第5单元:对象和类(高级)

第01节:[C++11]断言与常量表达式

第02节:代理构造、不可变对象与静态成员

第03节:析构、友元与深浅拷贝

第04节:vector类和[C++14]字符串字面量

第05节:例子

第06节:[C++17]结构化绑定

第5单元测验

1.在线编程-代理构造函数1

2.在线编程-代理构造函数2

3.在线编程-【选做】Screen类的静态成员与单例模式(难度:难)

4.在线编程-【选做】Screen类的析构函数与完整的单例模式(难度:难)

第6单元:继承和多态

第01节:继承与构造

第02节:名字隐藏与重定义

第03节:覆写与运行时多态

第04节:抽象类与动态类型转换

第6单元测验

1.在线编程-继承中的构造函数

2.在线编程-继承中的析构函数和静态成员

3.在线编程-多态和纯虚函数

第7单元:文件输入输出流

第01节:[C++17]文件系统(filesystem)

第02节:文件I/O流的基本用法

第03节:格式化输出与I/O流函数

第04节:二进制输入输出

第05节:随机访问文件

第7单元测验

1.互评作业-读写文件

第8单元:运算符重载

第00节:单元导学及准备知识

第01节:运算符重载与平面向量类

第02节:重载二元运算符和数组下标运算符

第03节:重载一元运算符

第04节:重载流操作运算符与类型转换运算符

第05节:重载赋值运算符及其它总结

第8单元测验

8.1在线编程-关系运算符重载

8.2在线编程-数组下标运算符重载

第9单元:异常处理

第01节:异常处理概览

第02节:异常匹配与内建异常类

第03节:自定义异常类与多重捕获

第04节:[C++11]noexcept与异常传播

第05节:重抛异常与异常的使用场景

单元作业说明

第9单元测验

1.在线编程-创建复数类,重载流运算符

2.在线编程-修改复数类,重载加减法运算符

3.在线编程-在复数的运算中,练习异常处理

第10单元:模板初步

第01节:模板与泛型编程

第02节:函数模板

第03节:排序示例与泛型化

第04节:类模板

第05节:模板参数与模板继承

第10单元测验

10.1在线编程-创建数组类模板

第11单元:标准模板库介绍

第02节:STL容器

第04节:容器的更多用法

第03节:STL迭代器

2.在线编程-list与deque

1.在线编程-vector与sort

第01节:标准模板库基础

主要参考资料:

【注】本课程的绝大部分C++11~C++17的新特性教学内容均由课程团队自行编写。上述参考资料中无法找到对应的内容

附加资料:

课程交流:

目前有4种交流渠道:

Q1:课程中的代码在哪里能找到?

A1:

代码不定期更新。

【注意】代码并非全部都能编译通过。其中有一些故意制造的错误用于课堂演示

Q2:本课程只讲C++11吗?

A2:

C++11并不是完全抛弃了C++98/03的内容重启炉灶。现代C++(ModernC++,特指C++11及之后的C++)继承了经典C++(ClassicC++)的面向对象思想、泛型编程思想。此外,从2011年开始,C++标准化委员会决定每3年推出一个新的标准。本课程中包含C++14和C++17的部分内容。本课程将跟进C++标准化委员会的进展不断更新。在本课程第2、3次开课时,将会补充C++17的更多内容,并视标准化委员会的进展和编译器的支持情况,补充C++20的内容。

THE END
1.C++博客C++博客-The Way of C++ http://www.cppblog.com/koson/ <description/> <language>zh-cn</language> <lastBuildDate>Tue, 24 Dec 2024 14:38:05 GMT</lastBuildDate> <pubDate>Tue, 24 Dec 2024 14:38:05 GMT</pubDate> <ttl>60</ttl> <item> ms 笔经攒RP http://www.cppblog.com/kosonhttp://www.cppblog.com/koson/Rss.aspx
2.C++C++入门必备知识详细讲解首先我们先要知道,C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库。本章将会带大家了解,C++是补充C语言语法的不足,以及C++是如何对C语言设计不合理的地方进行优化的。一、命名空间 1. namespace 在C/C++中,变量、函数等等都是大量存在的,这些变量、函数和类的名称将都存在于全局作用https://open.alipay.com/portal/forum/post/156001075
3.C++开发基础dotnet研习社的博客征途黯然.: 如何在C#和C++程序中利用套接字实现跨进程通信?请参考完整示例代码并了解实现步骤。 在Net8.0中使用 MQTTnet 开源库实现 MQTT 应用程序开发(实践) dotnet研习社: 在Windows 系统上搭建 MQTT Broker,前一篇文章 Docker部署Eclipse Mosquitto开源MQTT的消息代理环境步骤(实践),我们使用docker搭建了Mosquitto环https://blog.csdn.net/houbincarson/category_12559647.html
4.C/C++学习交流微信群欢迎您的加入我们组建了最纯净的C/C++社群:每天发布职位信息,每周更新PDF电子书、视频等学习资料,现已收集近500本,涵盖22个分类,定期邀请大神技术分享,当然N波红包雨是感兴趣速度来!欢迎大家加入!扫码或加jxl1632拉您进群https://www.douban.com/group/topic/104499818
5.c++(qt)程序员微信群程序员成长日志关注微信公众号"程序员成长日志",回复关键字"c++"扫码进群 本群主要为大家解决工作中遇到的问题遇到的问题发到群里大家集思广益平时可以瞎扯不定期红包https://www.cnblogs.com/czrz1024/p/12678873.html
6.深入探索Android启动速度优化DeepintoAndroidC++程序应该根据应用的具体场景、函数体大小、调用位置多少、函数调用的频率、应用场景对时间性能的要求,应用场景对内存性能的要求等各方面因素合理决定是否定义inline函数。 inline函数内不允许用循环语句和开关语句。 3、预加载SharedPreferences 可以利用MultiDex预加载期间的这段CPU去预加载SharedPreferences。 https://jsonchao.github.io/2019/11/10/%E6%B7%B1%E5%85%A5%E6%8E%A2%E7%B4%A2Android%E5%90%AF%E5%8A%A8%E9%80%9F%E5%BA%A6%E4%BC%98%E5%8C%96/
7.易语言写监控微信群消息易语言手机群控教程C++的库也是用C++写的,而易语言的这个库却不是用易语言而是用C++写成的。 这就是最大的差别,也是C++和java,C#/vb.net,vb6最大的差别 它们的虚拟机无法用自身来编写,必须依靠C/C++,唉,我越来越喜欢C++了。 易语言的给我最深刻的印象就是 1.标识符,语句都是汉字 https://blog.51cto.com/u_16213581/11139794
8.ExceptionalC++中文版(美)萨特著,聂雪军译《Exceptional C++中文版》中所讨论的问题不仅会让您感到有趣,而且还会帮助您成为一名C++程序员。书中每个问题都给出了难度系数,这些问题都是用来说明一些微妙的编程以及在程序设计上的考虑。在阅读中给出的解答之前,您可以首先尝试自己给出解答,然后再阅读书中对这些问题给出的详细分析。 http://www.queshu.com/book/12214115/trends
9.我被Gitlab的华人员工踢出Gitlab微信群,有话说昨天晚上,我被 Gitlab 的华人员工(不太确定还是不是中国人)踢出 Gitlab 微信群,踢之前我并没有在群里里说过任何话。 后来,鉴于群里很多人的询问,Gitlab 的人员在群里说明踢我的原因,不过我对这样的说辞肯定是不满意的: 但是踢就踢了,这是他们的自由,我没什么所谓 :) https://my.oschina.net/javayou/blog/3126090
10.MenuetOS镜像开发技术微信群助手,微信群影视机器人,微信群娱乐机器人test 2024-12-17 14:28:03 积分:1 monkey-test 2024-12-17 14:27:12 积分:1 数据分析初步操作自用留 2024-12-17 13:44:19 积分:1 计算仓库中两点距离的方法 2024-12-17 13:29:14 积分:1 https://www.coder100.com/index/index/content/id/1793587
11.少儿编程跟家长沟通的重要事项和注意事项C++少儿编程3、可考虑偶尔布置下作业,强调我们是学习课程,而不仅仅是在玩耍,大家可以发一下自己的想法都微信群。互相借鉴。 4、我负责课程资料收集,你们有好的资料,请传与我。我负责收集整理。另外家校云系统里面有很多资料,大家可以多学习,例如考级资料、向家长介绍我们课程的资料。 http://www.edu63.com/airobot/show_10.html
12.2021星河实验小学秋季编程及电脑制作培训报名告家长书历史项目培训地点:武进延政中大道29号青少年活动中心(凤凰谷B区6楼机房)为主,部分班级所在位置变动以开课前通知为准,一般为武实小机房付费方式:报名后加入学校编程学习微信群,由学校统一收取。完成报名后务必加学校编程学习微信群。需要咨询请联系以下老师:联系老师:张蝶嫔 15061939597 注:准备报中级班及以上的同学,如果在上https://www.wenjuan.com/m/slp/qUf6JzV/
13.二谈操作系统:有关智能操作系统的讨论::飞漫我们把这些不能参与微信群讨论的程序猿或程序媛称为“外围码农”。怎么,这个名字不好听?像“外围女”?大家都自称“屌丝”呢,“外围码农”更好听的(纯粹玩笑啊,大家别当真哦)。另外,要是大家能提出真知灼见,这个微信群的大门还是给大家敞开的。:) 好了,接下来言归正传。 https://www.fmsoft.cn/blog/discuss-os-2
14.微信群怎么加搜索 我要招人 牛客网88888888号 2021-08-29 15:20门头沟学院 C++ 关注 微信群怎么加 查看原帖 12-04 22:22 已编辑 Imperial College London Java 美团突然联系面试 一个多月前挂的岗位突然被捞了,八股忘得差不多了还有必要好好准备么这个时间点是真有补录还是kpi面啊引流tag 米哈游 京东 小米 美团 字节 腾讯https://www.nowcoder.com/discuss/comment/10021983
15.官方交流群·Issue#198·NervJS/taro·GitHubedited by ZakaryCode 目前Taro 交流主要在微信群 Taro 开发交流 1 群(已满) Taro 开发交流 2 群(已满) Taro 开发交流 3 群(已满) Taro 开发交流 4 群(已满) Taro 开发交流 5 群(已满) Taro 开发交流 6 群(已满) https://github.com/NervJS/taro/issues/198
16.linux微信群腾讯云开发者社区也许是微信的程序员里有人遇到了这个烦恼,所以才有了这个微信群红包专属发送功能!简单的说,这个功能可以在群发红包的时候,给指定的人发送一个专属红包!应该C++17一个很冷门很有意思的新特性 最近发现了一个有意思的特性:void_t。 void_t是C++17引入的一个新特性,它的定义很简单(有些编译器的实现可能不是这样https://cloud.tencent.com/developer/information/linux%E5%BE%AE%E4%BF%A1%E7%BE%A4
17.h5仿微信群源码,h5聊天室.ziph5聊天室仿红包群微信群源码.zip ?h5聊天室仿红包群微信群源码 免登陆网页版,基于Thinkphp框架开发的仿微信群h5源码,h5聊天室仿微信群,h5仿红包群源码, 对接公众号接口后可以使用微信一键登陆进群交流。本聊天室主要是针对微信封群专门设计,包含聊天功能,红包 https://www.iteye.com/resource/qq762259219-11536806
18.获取微信群名单获取微信群名单 编辑于 2023-05-05 10:35 累计访问:3492 点击了解高性能代码运行API 嵌入式硬件 JSON解析 JS PHP Python Java Ruby C语言 Go语言 C++ Groovy Shell/Bash Lua C# JSON Objc F# VB.NET Swift Dart R Clojure Kotlin Rust Pascal Perl Erlang Scala https://jsrun.net/CudKp
19.17.3前端学习分享(微信群)前端入门和进阶学习笔记教程库以下内容,来自微信群的部分优质分享。不定期更新。文中涉及的内容和链接,均为群友自主推荐、自主分享。 2019-05-10 1、深圳-团长: 新手学习Node.js 推荐我最近看的书都是按照这个书单看的,前面基本还可以,从《Node.js:来一打C++扩展》后面开始感觉就有点get不到书里面的主题了。 2019-05-07 1、广州 https://www.lanqiao.cn/library/Web/17-%E5%89%8D%E7%AB%AF%E7%BB%BC%E5%90%88/03-%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E5%88%86%E4%BA%AB%EF%BC%88%E5%BE%AE%E4%BF%A1%E7%BE%A4%EF%BC%89
20.深度揭秘:为何10K老程序员到黑马学完C++后薪资立马涨到50K?一、震撼!30多岁老程序员学完C/C++后薪资竟翻5倍,从10K涨到50K!C/C++第15期班级0323安同学,是http://bbs.itheima.com/thread-344822-1-1.html
21.C++在语言流行度指数中超过Java芋道源码——纯源码解析博客认真的源码交流微信群。 自2001 年以来,C++ 在Tiobe 语言流行指数中的排名首次高于Java。Java 在最新版本的指数中跌至新低。 2002年12 月的 Tiobe Programming Community Index有 C++,排名第三,超越 排名第四的Java。这是该指数历史上第一次没有将 Java 排在该指数前三名的语言之列。 https://www.iocoder.cn/Fight/In-c---language-popularity-index-more-than-Java/
22.即时通信IMC++客户端API文档中心工作群(Work) :类似普通微信群,创建后不能自由加入,必须由已经在群的用户邀请入群。 公开群(Public) :类似 QQ 群,用户申请加入,但需要群主或管理员审批。 会议群(Meeting):适合跟 TRTC 结合实现视频会议和在线教育等场景,支持随意进出,支持查看进群前的历史消息。 社群(Community):社群成员上限 100000 人,任何人http://cloud.pinpaidadao.com/?document/product/269/68286
23.C++中Aa;与A*a=newA();有什么不同?后记 如果你喜欢我的内容, 请关注我的微信公众号: 或者加入微信群, 一起交流学习。https://blog.devwiki.net/2023/04/24/cplusplus-new-object-new-ptr.html