剖析【C++】——类与对象(上)超详解——小白篇

2024-06-04 5796阅读

剖析【C++】——类与对象(上)超详解——小白篇 第1张

剖析【C++】——类与对象(上)超详解——小白篇 第2张

目录

1.面向过程和面向对象的初步认识

1.面向过程(Procedural Programming)

2.面向对象(Object-Oriented Programming)

概念:

特点:

总结

2.C++ 类的引入

1.从 C 语言的结构体到 C++ 的类

2.C++ 中的结构体和类

3.使用类来替代结构体

4.总结

3.类的定义

1.什么是类?

2.如何定义一个类?

类的成员

示例 1:简单的类定义

3.两种类的定义方式

1.全部在类体中

2.分开声明和定义

4.总结

4.C++ 类的访问限定符及封装

1.访问限定符

1.访问限定符有三种:

2.注意:

2.C++ 中 struct 和 class 的区别

3.封装

1.封装的优势:

5.总结

5.类的作用域

1.作用域和作用域操作

示例:

2.在类体外定义成员函数

Step 1: 类声明

Step 2: 类体外定义成员函数

Step 3: 使用类

3.总结

6.类的实例化

1. 类是一个描述

2. 类的实例化

3. 类与对象的类比

4.总结

7.类对象模型

7.1 如何计算类对象的大小

7.2 类对象的存储方式

7.3 结构体内存对齐规则

7.4面试题

8.C++ 类成员函数的 this 指针

8.1 this 指针的引出

8.2 this 指针的特性

8.3面试题

8.4 C 语言和 C++ 实现 Stack 的对比

1. C 语言实现 Stack

2. C++ 实现 Stack

8.5总结


1.面向过程和面向对象的初步认识

1.面向过程(Procedural Programming)

面向过程是一种编程范式,它主要关注程序的执行过程和步骤。程序员通过将问题分解为一个个具体的步骤和函数,逐步解决问题。面向过程的编程语言强调函数的调用和顺序的执行。

特点:

  1. 函数为中心:程序的逻辑是通过调用函数来实现的,每个函数执行特定的任务。
  2. 步骤明确:分析问题并明确解决步骤,通过函数逐步实现这些步骤。
  3. 数据和操作分离:数据和操作通常是分离的,通过函数来操作数据。

示例语言:

  • C语言
  • Pascal

    示例代码(C语言):

    #include 
    // 函数定义
    void greet() {
        printf("Hello, World!\n");
    }
    int main() {
        // 调用函数
        greet();
        return 0;
    }
    

    在这个例子中,我们定义了一个叫做 greet 的函数,这个函数打印问候语。main 函数调用 greet 函数来实现问候。

    2.面向对象(Object-Oriented Programming)

    概念:

    • 面向对象是一种编程方法,关注的是对象和对象之间的交互。我们把问题拆分成一个个对象,然后通过这些对象之间的合作来解决问题。
    • 比如管理一家餐厅,我们有服务员对象、厨师对象、顾客对象,每个对象有自己的职责,他们之间的互动完成了餐厅的运作。

      特点:

      • 对象:把现实中的事物抽象成程序中的对象,每个对象都有属性和方法。
      • 交互:对象之间通过方法相互协作完成任务。

        示例语言:

        • C++

          简单示例(C++):

          #include 
          using namespace std;
          // 定义一个叫做 Person 的类
          class Person {
          public:
              // 类的属性
              string name;
              // 类的方法
              void greet() {
                  cout 

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]