侧边栏壁纸
博主头像
Aurora博客🥝 博主等级

行动起来,活在当下

  • 累计撰写 11 篇文章
  • 累计创建 11 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

面试题

折星雀
2024-10-02 / 0 评论 / 0 点赞 / 16 阅读 / 0 字

1. C++与C区别

  1. 结构:C语言是面向过程的通用编程语言,其结构只包含成员变量,没有成员方法。;C++是基于C发展而来的,结构中可以包含成员变量和成员函数
  2. 编程范式:C语言是过程式编程语言,注重函数设计;C++支持多种编程范式,既可以进行面向过程的程序设计,也可以进行面向对象的程序设计。
  3. 语法特性:C语言语法简单,以函数为基础;C++在C基础上增加类、对象、模板等新特性。
  4. 类型检查:C语言类型检查宽松,允许隐式转换;C++有更严格的类型检查,支持强类型编程,对数据类型的转换更加严格。
  5. 函数库:C语言有标准函数库,但较松散;C++标准库集成更多功能,函数都是有集成的,更加紧密。

2. C++面向对象(OOP)的思想

C++是一种面向对象编程的编程语言,面向对象编程是一种编程范式。

封装:将数据和方法绑定形成类,通过类和访问修饰符隐藏对象内部细节,对外只提供接口(公有成员函数)来提高数据安全性,降低系统的耦合度。

继承:通过基类和派生类实现代码复用,基于一个基类(父类)来定义一个派生类(子类),派生类可以对父类的属性和方法进行继承、添加和重写。

多态:允许不同对象响应同一消息,通过虚函数实现运行时多态,提升程序灵活性。

3. 多态

在C++中,多态(Polymorphism)是一种面向对象编程的特性,它允许我们通过一个共同的接口(通常是基类中的虚函数)来调用不同的函数实现。多态性主要分为两种形式:编译时多态(静态多态,主要通过函数重载模板实现)和运行时多态(动态多态,主要通过虚函数继承实现)。

4. 多态的特性及实现

特性:

接口重用:子类可以重用父类的接口,而不需要重新定义。

可替换性:父类引用可指向子类对象,实现对子类的通用引用。

扩展性:可以在不影响现有代码的情况下增加新的派生类。

实现:

  1. 继承:让子类获得父类属性和方法,方法重写则允许子类提供自己的实现。
  2. 接口:定义方法的签名但不提供实现,类通过接口提供具体方法实现,一个类可以实现多个接口。
0

评论区