C++学习笔记(名词解释&&问答)

0.对象:描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。

1. 封装 封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。例如 C++中的 类,它定义了该集合中每个对象所共有的属性和方法。 (把数据和实现操作的代码集中起来放在对象内部,并尽可能隐藏对象的内部细节。)

2. 继承 继承是让某个类型的对象获得另一个类型的对象的特征。例如:C++中子类对父 类的继承,子类具有父类的特性,同时还可以拥有自己的新特性。(允许在已有类的基础上创建新的类,新类可以从一个或多个类中继承成员函数和数据成员,并且可以重新定义或加进新的数据和函数,从而形成类的层次或等级。)

3. 多态 多态是指不同类型的对象接收相同的消息时产生不同的行为。 多态机制使具有不 同内部结构的对象可以共享相同的外部接口,通过这种方式减小代码的复杂度。 例如函数的重载。(不同对象收到相同的消息时,产生不同的动作。)

4. 流:指的是数据从一个源流到一个母的抽象,它是负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动

5. 运算符重载:是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同的行为。

6. 什么是 this 指针?为什么要用 this 指针?

this 指针是类中的一个特殊指针,当类实例化时,this指针指向对象自己;而 在类的声明时,指向类本身。通过它不仅可以提升成员函数操作的效率,而且能简化运算符重载代码。

7. 叙述公有、私有、保护成员在类中、类外和对象中的访问权限。 类中的关键字 public,private, protected 声明了类中的成员与类外之间的关 系,称为访问权限 。 对于 public 成员来说,他们是公有的,可以在类外和对象中访问。 对于 private 成员来说,他们是私有的,不能在类外和对象中访问,数据成员只 能由类中的函数使用,成员函数只允许在类中调用。 对于 protected 成员来说,他们是受保护的,具有半公开性质,可以在类中与子 类中访问。

8. 构造函数和析构函数的作用是什么?

构造函数的功能是在创建对象时,给数据成员赋初值,即给对象初始化。 析构函数的功能是释放一个对象,在对象删除前,用来做一些内存释放等清理工 作。

9. 什么是类的继承和派生?

继承是指一个事物可以继承其父辈全部或部分的特性, 同时本身还有自己的特性。 当一个新类从一个已定义的类中派生后,新类不仅继承了原有类的属性和方法, 并且还拥有自己新的属性和方法,称为类的继承和派生。

10. 派生类 public 继承方式有那些特点?

 (1) 在派生类中, 基类的公有成员、 保护成员和私有成员的访问属性保持不变。 在派生类中,基类的私有成员是无法访问的,虽然基类的私有成员被派生类继承了。

(2)派生类对象只能访问派生类和基类的公有成员。

11. 派生类 protected 继承方式有那些特点?

(1)在派生类中,基类的公有成员、保护成员的访问属性都变成了保护的。

(2)在保护继承方式下,派生类中仍可以访问基类的公有成员和保护成员,但 基类的私有成员是无法访问的。

(3)派生类对象只能访问派生类的公有成员,不能访问基类的任何成员。

12. 派生类 private 继承方式有那些特点?

(1)在派生类中,基类的公有成员、保护成员和私有成员的访问属性都将变成 私有的。

(2)私有继承方式下,派生类中仍可以访问基类的公有成员和保护成员,但基 类的私有成员是无法访问的。

(3)派生类对象只能访问派生类的公有成员,不能访问基类的任何成员。

13. 在定义派生类的过程中,如何对基类的数据成员进行初始化?

通过调用基类的构造函数来设定基类的数据成员的初值。 格式为 <派生类名>(形参表) :基类 1(参数表) ,基类 2(参数表)…对象成员 1(参数表) ,对象成员 2(参数表)…{}

14. 什么是虚基类?它的作用是什么?

虚基类是指在派生类中指定的基类是虚继承的方式。 使用虚基类的目的是在多重派生中使用共有基类时, 在派生类中只有一个拷贝从 而解决有多个基类拷贝所产生的二义性问题。

15. 在函数调用过程中,什么是赋值传递,什么是引用传递?

赋值传递是将实参赋值给形参变量, 然后执行被调函数体。 赋值传递有两种形式, 一是直接传常量或变量值,二是传变量的地址。 引用传递是将形参引用给形参,需要形参与实参指的是同一变量。

16. #include<filename.h> 和 #include “filename.h” 有什么区别? 对于#include<filename.h> ,编译器从标准库路径开始搜索 filename.h。 对于#include “filename.h” , 编译器从用户的工作路径开始搜索 filename.h。

17. const 有什么用途?(请至少说明两种)

(1)可以定义 const 常量

(2)const 可以修饰函数的参数、返回值,甚至函数的定义体。被 const 修饰 的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

18. 类的指针成员为什么要用 new 另辟内存空间?

为了保证类的封装性, 类中的指针成员所指向的内存空间必须在类的定义中自行独立开辟和释放。


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值