admin管理员组

文章数量:1033658

【C++篇】类与对象(上篇):从面向过程到面向对象的跨越

前言

大家好,我是“我想吃余”,很高兴你能和我一起进入到C++的学习中,我会将我的学习过程中的宝贵经验不遗余力的输入到文章中,希望可以帮助到你的学习。本文涵盖了从面向过程与面向对象的区别,到类的定义、访问限定符、封装、作用域、实例化、对象大小计算,以及this指针等内容。


一、 面向过程 vs 面向对象

  • 面向过程(C语言):关注解决问题的步骤,通过函数逐步实现。

举个洗衣服的例子:手洗衣服的步骤

  • 面向对象(C++):关注对象之间的交互,将问题拆分为多个对象协作完成。

机洗衣服:

核心区别:面向对象通过对象交互隐藏细节,提高代码复用性和可维护性。


二、类

1. 类的引入

C语言的结构体:只能定义成员变量。

C++的类(class/struct):可以定义成员变量和成员函数。

代码语言:javascript代码运行次数:0运行复制
// C++实现栈(使用class)
class Stack {
public:
    void Init() { /* 初始化逻辑 */ }
    void Push(int data) { /* 压栈逻辑 */ }
private:
    int* _array;
    int _size;
};

2. 类的定义
代码语言:javascript代码运行次数:0运行复制
class className
{
// 类体:由成员函数和成员变量组成
};  // 一定要注意后面的分号

class为定义类的关键字ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。

类体中内容称为类的成员:类中的变量称为类的属性成员变量; 类中的函数称为类的方法或者成员函数

类的两种定义方式

  1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。

showlnfo函数可能会被编译器当成内联函数

  1. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名::

【C++篇】类与对象(上篇):从面向过程到面向对象的跨越

前言

大家好,我是“我想吃余”,很高兴你能和我一起进入到C++的学习中,我会将我的学习过程中的宝贵经验不遗余力的输入到文章中,希望可以帮助到你的学习。本文涵盖了从面向过程与面向对象的区别,到类的定义、访问限定符、封装、作用域、实例化、对象大小计算,以及this指针等内容。


一、 面向过程 vs 面向对象

  • 面向过程(C语言):关注解决问题的步骤,通过函数逐步实现。

举个洗衣服的例子:手洗衣服的步骤

  • 面向对象(C++):关注对象之间的交互,将问题拆分为多个对象协作完成。

机洗衣服:

核心区别:面向对象通过对象交互隐藏细节,提高代码复用性和可维护性。


二、类

1. 类的引入

C语言的结构体:只能定义成员变量。

C++的类(class/struct):可以定义成员变量和成员函数。

代码语言:javascript代码运行次数:0运行复制
// C++实现栈(使用class)
class Stack {
public:
    void Init() { /* 初始化逻辑 */ }
    void Push(int data) { /* 压栈逻辑 */ }
private:
    int* _array;
    int _size;
};

2. 类的定义
代码语言:javascript代码运行次数:0运行复制
class className
{
// 类体:由成员函数和成员变量组成
};  // 一定要注意后面的分号

class为定义类的关键字ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。

类体中内容称为类的成员:类中的变量称为类的属性成员变量; 类中的函数称为类的方法或者成员函数

类的两种定义方式

  1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。

showlnfo函数可能会被编译器当成内联函数

  1. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名::

本文标签: C篇类与对象(上篇)从面向过程到面向对象的跨越