# 第一章 C++简介
- 在 C++程序中,用来从键盘输入值的标准输入流对象是
cin
; - 指示编译器将一个源文件嵌入到带该指令的源文件中的指令是
#include
; - 函数指针的默认值不允许是
局部变量
; - 将指向对象的指针作为函数参数,形参是对象指针,则实参是对象的
地址值
; - 定义整形变量 oneInt 的引用 bname 的语句是
int &bname = oneInt
; - 在 C++语言中,如果调用函数时需要改变实参或者返回多个值,传参数时应该采取
传引用或地址
方式 - 用来声明内联函数的关键字是
inline
- 动态申请含 20 个元素的整型数组 A 的语句是
int * A = new int[20]
; - 使用重载函数编写程序的目的是
使用相同的函数名调用功能相似的函数
; - 使用 new 运算符动态分配的内存,释放时使用的运算符是
delete
; - 设在程序中定义了类 Point,并使用语句 Point *ptr = new Point[2],申请了一个 Point 对象数组,则释放 ptr 指向的动态数组对象的语句是:
delete []ptr
; - 求 string 对象 s1 从下标 2 开始,一直到串尾的子串,并赋值给 string 变量 s5 的语句是:
string s5 = s1.substr(2, s1.length())
;
# 第二章 面向对象
- 一个项目中只能有一个函数是
main函数
; - 类中成员按访问权限,包括:
private, protected, public
; - 对象传递的消息一般由 3 部分组成:
接收对象名
、调用操作名
和形参
; - 已知有如下的类定义:A1 是类 A 的对象。如果要通过指针 p 给变量 m 赋值 10,相应的语句是:
class A { public: int m; int *p = &m; };
*A1.p = 10
; - 类 C 中不可以定义类 C 的
成员变量
; - 类 C 中可以定义类 C 的
指针或引用
; - 已知有如下的类定义:则在类外使用对象 objX 能够访问的成员是
class X { int a; void fun1(); public: void fun2(); };
fun2()
# 第三章 类和对象进阶
- 定义类时,如果一个构造函数没有编写,则编译器自动生成默认(无参)构造函数和
赋值构造函数
; - 复制构造函数的形参个数是
一个
; - 复制构造函数的形参是
本类对象的引用
; - 说明一个类的对象时,系统自动调用
构造函数
; - 程序中撤销一个类对象时,系统自动调用
析构函数
; - 类 Point 的析构函数的定义原型是
~Point();
; - 对象成员构造函数的调用顺序取决于在这些对象在类中说明的顺序,与它们在成员初始化列表中给出的顺序
无关
; - 类的普通成员函数是指声明中不含
const
和static
关键字的函数; - 若类 X 的对象 x 是类 Y 的成员对象,则执行“Y obj;”语句时,先调用类
X
的构造函数; - 调用封闭类的构造函数之前,必须调用
成员对象的构造函数
; - 若把类 B 的成员函数 void fun()说明为类 A 的友元函数,则应在类 A 中加入语句
friend void B::fun();
; - 不是类中的成员函数,但却能在函数体中访问类中私有成员变量的函数是类的
友元函数
; - this 指针始终指向调用成员函数的
对象
;
# 第四章 运算符重载
- 在 C++程序中,重载运算符[]时,不能用友元运算符来重载,只能用
成员函数
来重载; - 设 op 表示要重载的运算符,那么重载运算符的函数名是
operator op
; - 类型转换只能定义一个类的
成员函数
; - 当一元运算符的操作数,或者二元运算符的左操作数是该类的一个对象时,重载运算符一般定义为:
成员函数
- 一元运算符作为类成员函数时,形参的个数是:
0
# 第五章 类的继承与派生
- 类的继承是指派生类继承基类的
成员变量
和成员函数
; - 在保护派生中,基类权限为 private 的成员在派生类中
不可访问
; - 从一个或多个以前定义的类产生新类的过程成为
派生
; - 基类的公有成员在派生类中的访问权限由
继承方式
决定; - 基类中不能被派生类继承的成员函数是
析构函数和构造函数
; - C++中有两种继承:一种是单继承;另一种是
多重继承
; - 派生类的成员一般分为两种:一部分是由自己定义的新成员;另外一部分是
从基类继承的成员
; - 当派生类指针指向基类对象时,为了能调用派生类的成员函数,必须进行
强制类型转换
; - 让派生类指针 pDerived 指向基类对象 objBase 的语句是:
pDerived = (CDerived*)&objBase
; - 调用派生类构造函数之前,必须调用
基类构造函数
;
# 第六章 多态与虚函数
- 定义虚函数时使用的关键字是
virtual
; - 通过基类指针调用虚函数,可能会出现完全不同的行为的现象称为
动态多态
; - 静态联编所支持的多态性称为
编译时
的多态性; - 编译时的多态性通过
重载
实现; - 抽象类中至少要有一个
纯虚函数
; - 有虚函数的类,其析构函数也应该实现为
虚函数
; - 通过基类指针或引用调用成员函数的语句,只有当该成员函数是
虚函数
时才是多态的; - 如果通过基类指针或引用调用不是虚函数的成员函数,那么这条函数调用语句就是
静态
联编的;
# 第七章 输入输出流
- C++中 ostream 类的直接基类是
ios
; - 表达式
cout<<hex
还可以表示为cout<<setiosflages(ios_base::hex)
; - 要将 str="Hello!"输出为"*_**Hello!"这样的格式,应该使用的语句是:
cout<<setfill(_)<<setw(10)<<"Hello!"
; - 下列程序段输出的结果是:
123.45****
cout.fill('*'); cout.width(10); cout<<setiosflags(ios::left)<<123.45;
# 第八章 文件操作
- I/O 操作分别由两个类:
ostream
和istream
提供,由他们派生一个类iostream
,提供双向的 I/O 操作,使用 I/O 流的程序要包含头文件Iostream
; - cin 是
istream
的一个对象,处理标准输出;cout、cerr 和 clog 是ostream
的对象,cout 处理标准输出,cerr 和 clog 都能处理标准出错信息,知识cerr
不带缓冲,clog
输出带缓冲。 - 文件的 I/O 由
ifstream
、ofstream
、fstream
3 个类提供,使用文件类的程序要包含头文件fstream
。 - 头文件
fstream.h
中包含了处理用户控制的文件操作所需要的信息。 - 现有两条语句:它们的等效语句是:
ifstream datafile; datafile.open("Text.txt");
fstream datafile.open("Text.txt", ios_base::in)
# 第九章 函数模板与类模板
- 设有类模板 TestClass,类型参数是 T,在类体外定义其成员函数 getData()时的格式是
template<class T> T template<class T>::getData(形参表) { 函数体 }
← 课程简介