当前课程知识点:程序设计基础(下) >  拓展学习 >  C++常见问题汇总 >  C++常见问题汇总

返回《程序设计基础(下)》慕课在线视频课程列表

C++常见问题汇总资料文件与下载

C++常见问题汇总


面向对象方法

1、类成员的访问关系:公有成员在程序的任何地方都可以被访问,私有成员只能被该类的成员函数或该类的友元访问,保护成员只能在该类的内部或其派生类类体中使用。

2、无参构造函数和有参构造函数:可以同时定义无参构造函数和有参构造函数。

3、类函数有定义了无参数构造函数和析构函数,却忘记写具体函数内容。

4、调用无参成员函数时漏掉括号“()”。

5、静态数据成员需要初始化以后再使用。

6、使用Visual Studio的预编译头功能,但是忘记包含pch.h文件。

继承与多态

1、多继承和多重继承的区别:多继承是指有多个基类,多重继承是指继承具有传递性。

2、多态性调用虚函数时漏掉指针或引用。

3、声明抽象类时易漏掉“=0”。

 输入输出流

1、puts()和cout的区别:puts()函数输出字符串后会自动换行,而cout不会自动换行。

2、gets()与cin的区别:gets()只有遇到换行符才表示一个字符串的结束,而cin遇到换行符、空格和制表符均表示字符串的结束。

3、<<>>重载时需要return out/in

4、readwrite函数除了需要给出字符型指针参数外,还需要给出一个需要读取/写入的字符的长度数值,若是长度小于0或者或者大于字符型指针参数的长度,会有溢出的情况。

5、getline函数可以读取空白字符,因此在输入过程中,需要遇到“\0”或者到达指定长度时候才会结束读取。

模板

1、函数模板和函数重载的区别:重载函数各函数体内可以执行不同的代码;一个函数模板实例化的不同模板函数执行的是相同的代码,区别是处理的数据类型不同。

2、定义类模板的时候,要将类模板的声明和类模板成员函数的定义放在同一个头文件里。

3、类模板的静态成员不应定义在类内。

4、类模板中的友元模板函数参数类型可以和类参数类型不一样。

数据结构概论

1、逻辑结构与存储结构:逻辑结构有线性结构、树状结构、网状结构和集合结构,存储结构有顺序存储、链式存储、索引存储和散列存储。

2、初始化成员时动态分配的内存,需要在析构函数中释放。

3将二叉树误认为存储结构。

线性表

1、带头结点的单链表H为空的判定条件H->next==NULL,不带头结点的单链表H为空的判定条件是H==NULL

2、带头结点的循环链表和带头结点的单链表的区别:①循环链表的头结点的数据域为任意或者根据需要来设置,头结点的指针域指向线性表的第一个元素的结点(首结点)。头指针指向表头结点;② 循环链表中最后一个结点的指针域不是NULL,而是指向表头结点。即在循环链表中,没有空指针,所有结点的指针构成了一个环状链;

栈和队列

1、栈为空时,top指向栈底,即top=-1

2、循环队列,在使用关系(rear+1)%(MaxSize-1)==front”实现时,需要用这个表达式判断队列是否已“满”。

树和二叉树

1、满二叉树和完全二叉树关系:满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树。

2、实现递归的时候一定要定义推出条件,否则会造成死循环。

1、对无向图进行遍历的时候,忘记在头文件中对“已访问”过的点进行标记,导致图的遍历过程出现“重复”与“往返”。

2、有向图,如邻接压缩表、邻接链表的表示上忘记方向的表述。

 


下一节:学习感悟(1)

返回《程序设计基础(下)》慕课在线视频列表

程序设计基础(下)课程列表:

拓展学习

-C++的常见错误

--C++的常见错误

-MFC入门

--MFC入门

-STL及使用示例

--STL及使用示例

-算法设计与算法分析基础

--算法设计和算法分析基础

-算法设计基本方法与策略基础

--算法设计基本方法与策略基础

-计算机前沿问题思考

--计算机前沿问题思考

-QT编程入门

--QT编程入门

-C++中的string类

--C++中的string类

-面向对象方法应用实例

--面向对象方法应用实例

-继承与多态应用实例

--继承与多态应用实例

-排序算法

--排序算法

-C++常见问题汇总

--C++常见问题汇总

南开大学往届学长课程学习感悟

-学习感悟(1)

--学习感悟(1)

-学习感悟(2)

--学习感悟(2)

-学习感悟(3)

--学习感悟(3)

-学习感悟(4)

--学习感悟(4)

-2016级数学院同学分享

优秀大作业展示

-优秀大作业展板

第一章 面向对象方法

-1.1面向对象方法的基本概念

--1.1面向对象方法的基本概念

-1.1面向对象方法的基本概念--作业

-1.2 C++中类的定义

--1.2C++中类的定义

-1.2 C++中类的定义

-1.3C++中对象的定义和访问

--1.3C++中对象的定义和访问

-1.3C++中对象的定义和访问--作业

-1.4类成员的访问控制

--1.4类成员的访问控制

-1.4类成员的访问控制--作业

-1.5析构函数

--1.5析构函数

-1.5析构函数--作业

-1.6拷贝构造函数

--1.6拷贝构造函数

-1.6拷贝构造函数--作业

-1.7 类声明与类实现的分离

--1.7 类声明与类实现的分离

-1.7 类声明与类实现的分离--作业

-1.8类的静态成员

--1.8类的静态成员

-1.8类的静态成员--作业

-1.9类的常量成员

--1.9类的常量成员

-1.9类的常量成员--作业

-1.10this指针

--1.10this指针

-1.10this指针--作业

-1.11类的友元

--1.11类的友元

-1.11类的友元--作业

-1.12类的对象成员

--1.12类的对象成员

-1.12类的对象成员--作业

-1.13自定义类的运算符重载

--1.13自定义类的运算符重载

-1.13自定义类的运算符重载--作业

第二章 继承与多态

-2.1 派生类的定义和继承方式

--2.1 派生类的定义和继承方式

-2.1 派生类的定义和继承方式--作业

-2.2 派生类中函数的重定义

--2.2 派生类中函数的重定义

-2.2 派生类中函数的重定义--作业

-2.3派生类的构造函数和析构函数

--2.3派生类的构造函数和析构函数

-2.3派生类的构造函数和析构函数--作业

-2.4多继承

--2.4多继承

-2.4多继承--作业

-2.5多态

--2.5多态

-2.5多态--作业

-2.6抽象类

--2.6抽象类

-2.6抽象类--作业

第三章 输入输出流

-3.1cout和cin对象及插入和提取运算符

--3.1cout和cin对象及插入和提取运算符

-3.1cout和cin对象及插入和提取运算符--作业

-3.2 使用put和get函数进行标准输出和输入

--3.2 使用put和get函数进行标准输出和输入

-3.3使用getline函数进行标准输入

--3.3使用getline函数进行标准输入

-3.3使用getline函数进行标准输入--作业

-3.4 文件流对象

--3.4 文件流对象

-3.5文件流对象及插入和提取运算符

--3.5文件流对象及插入和提取运算符

-3.5文件流对象及插入和提取运算符--作业

-3.6文件流对象及put、get和getline函数

--3.6文件流对象及put、get和getline函数

-3.7按数据块进行输入输出

--3.7按数据块进行输入输出

-3.8按数据块进行输入输出实例

--3.8按数据块进行输入输出实例

-3.8按数据块进行输入输出实例--作业

-3.9文件的随机读写

--3.9文件的随机读写

-3.9文件的随机读写--作业

-3.10用户自定义数据类型的输入输出

--3.10用户自定义数据类型的输入输出

-3.10用户自定义数据类型的输入输出--作业

第四章 模板

-4.1函数模板

--4.1函数模板

-4.1函数模板--作业

-4.2类模板

--4.2类模板

-4.2类模板--作业

第五章 概论

-5.1数据结构基本概念(一)

--5.1数据结构基本概念(一)

-第五章 概论--5.1数据结构基本概念(一)

-5.2数据结构基本概念(二)

--5.2数据结构基本概念(二)

-5.2数据结构基本概念(二)--作业

第六章 线性表

-6.1线性表及其抽象数据类型

--6.1线性表及其抽象数据类型

-6.1线性表及其抽象数据类型--作业

-6.2顺序表类模板

--6.2顺序表类模板

-6.2顺序表类模板--作业

-6.3顺序表的实现

--6.3顺序表的实现

-6.3顺序表的实现--作业

-6.4简单数据元素顺序表的应用问题

--6.4简单数据元素顺序表的应用问题

-6.4简单数据元素顺序表的应用问题--作业

-6.5复杂数据元素顺序表的应用问题

--6.5复杂数据元素顺序表的应用问题

-6.5复杂数据元素顺序表的应用问题--作业

-6.6单向链表及其类模板

--6.6单向链表及其类模板

-6.6单向链表及其类模板--作业

-6.7单项链表的实现(一)

--6.7单项链表的实现(一)

-6.7单项链表的实现(一)--作业

-6.8单项链表的实现(二)

--6.8单项链表的实现(二)

-6.8单项链表的实现(二)--作业

-6.9单向链表的应用

--6.9单向链表的应用

-6.10循环链表及双向链表

--6.10循环链表及双向链表

第七章 栈和队列

-7.1栈及顺序栈

--7.1栈及顺序栈

-7.1栈及顺序栈--作业

-7.2 顺序栈的实现

--7.2 顺序栈的实现

-7.2 顺序栈的实现--作业

-7.3顺序栈的应用

--7.3顺序栈的应用

-7.4 链接栈及其实现

--7.4 链接栈及其实现

-7.4 链接栈及其实现--作业

-7.5队列及其顺序存储

--7.5队列及其顺序存储

-7.5队列及其顺序存储--作业

-7.6 顺序循环队列的实现

--7.6 顺序循环队列的实现

-7.6 顺序循环队列的实现--作业

-7.7顺序循环队列的应用

--7.7顺序循环队列的应用

-7.8链接队列及其实现

--7.8链接队列及其实现

-7.8链接队列及其实现--作业

第八章 树和二叉树

-8.1树的基本概念

--8.1树的基本概念

-8.1树的基本概念--作业

-8.2二叉树及其性质

--8.2二叉树及其性质

-8.2二叉树及其性质--作业

-8.3二叉树的抽象数据类型和顺序表示

--8.3二叉树的抽象数据类型和顺序表示

-8.3二叉树的抽象数据类型和顺序表示--作业

-8.4二叉树的链式表示

--8.4二叉树的链式表示

-第八章 树和二叉树--8.4二叉树的链式表示

-8.5二叉链表的实现(一)

--8.5二叉链表的实现(一)

-8.6二叉链表的实现(二)先序和中序遍历

--8.6二叉链表的实现(二)先序和中序遍历

-8.6二叉链表的实现(二)先序和中序遍历--作业

-8.7二叉链表的实现(三)后序和逐层遍历

--8.7二叉链表的实现(三)后序和逐层遍历

-8.7二叉链表的实现(三)后序和逐层遍历--作业

-8.8二叉链表的实现(四)

--8.8二叉链表的实现(四)

-8.9 二叉排序树

--8.9 二叉排序树

-8.10哈夫曼树和哈夫曼编码

--8.10哈夫曼树和哈夫曼编码

第九章 图

-9.1图的基本概念及其特征

--9.1图的基本概念及其特征

-9.1图的基本概念及其特征--作业

-9.2图的抽象数据类型和表示方式

--Video

-9.2图的抽象数据类型和表示方式--作业

-9.3图的邻接矩阵表示法的实现

--9.3图的邻接矩阵表示法的实现

-9.3图的邻接矩阵表示法的实现--作业

-9.4图的广度优先遍历

--Video

-9.4图的广度优先遍历--作业

-9.5图的深度优先遍历

--9.5图的深度优先遍历

-9.5图的深度优先遍历--作业

-9.6图的应用

--9.6 图的应用

例题及视频讲解

-面向对象方法

--面向对象例题讲解

-- 类和对象的基本定义、构造函数和析构函数

--静态成员和多文件结构

--友元和运算符重载

--对象成员

-继承与多态

--派生类定义和函数重定义

--多重继承

--虚函数

--抽象类和纯虚函数

-输入输出流

--输入输出流操作

--插入运算符和提取运算符重载

-模板

--函数模板

--类模板

百年南开 风华正茂

-央视新闻关于南开大学的报道

百年沧桑到民族复兴

-从百年沧桑到民族复兴1

-从百年沧桑到民资复兴2

-从百年沧桑到民族复兴3

-从百年沧桑到民族复兴4

-从百年沧桑到民族复兴5

C++常见问题汇总笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。