小工具知识网

当前位置: 首页 > 行业知识 > 【C++】类和对象(一)

行业知识

【C++】类和对象(一)

2026-10-22 04:11:43 来源:互联网转载

前言:在前面���们带大家初步步入了C++,让大家大概知道了他的样子,那今天就可以说我们要正式步入C++的大门了,这一章内容的细节比较多各位学习的时候一定要仔细。

博主CSDN主页:卫卫卫的个人主页

专栏分类:高质量C++学习

代码仓库:卫卫周大胖的学习日记

关注博主和博主一起学习!一起努力!


目录标题

  • 类和对象
    • 什么是对象
    • 什么是类
      • 定义类的格式:
      • 类的访问限定符
      • 封装
      • 类的作用域
      • 类的实例化
      • 类的对象的大小计算
        • 对象的存储方式
        • this指针
          • this指针的引出

            类和对象

            C++中,类是一种自定义的数据类型,用于封装数据和相关的操作。对象是类的实例,通过实例化类来创建对象。

            类包含了属性(成员变量)和方法(成员函数),用于描述对象的状态和行为。成员变量是类的数据成员,用于存储对象的数据;成员函数是类的操作成员,用于实现对象的行为。

            什么是对象

            C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题,而在C++中C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成,通俗的理解C语言好比送外卖我们需要关注如何下单如何拿,而C++只需要关注如何点外卖。

            什么是类

            C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;

            定义类的格式:

            class 类的名称{//类体:成员变量--属性  成员函数---功能}

            现在以C++方式实现,会发现struct中也可以定义函数,但在C++中类的定义通过关键字class来实现。以下是一个简单的类的定义示例:

            1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。
            class Date//C++中的定义方式{public://限定符    void Init(int year,int month,int day)    {        _year = year;        _month = month;        _day = day;    }    void Print()    {        cout     int _year;    int _month;    int _day;};int main(){    Date dl;//定义类    dl.Init(2024, 1, 30);//在c++中引用类的函数可以直接和C语言一样加.即可    dl.Print();    return 0;}    _year = year;        _month = month;        _day = day;}public:    void Init(int year,int month,int day);     void Print();private:    int _year;    int _month;    int _day;};void Date::Init(int year, int month, int day)//这里需要指定Init是属于Date这个类域{    _year = year;    _month = month;    _day = day;}void Date::Print()//同理这里需要指定Print属于Date这个域{    cout     Date dl;    dl.Init(2024, 1, 30);    dl.Print();    return 0;}public:  void myMethod()   {    std::cout   // 实例化类的对象  MyClass obj;    // 调用类的方法  obj.myMethod();   return 0;}public:void PrintA(){   coutcout public:    void Init(int year,int month,int day)    {        _year = year;        _month = month;        _day = day;    }    void Print()    {        cout     Date d1;    Date d2;    d1.Init(2024, 1, 30);    d2.Init(2025, 2, 32);    d1.Print();    d2.Print();    return 0;}public:    void Init(int year,int month,int day)    {        this-_year = year;//本质上是有一个this指针指向了成员变量        this-_month = month;        this-_day = day;    }    void Print()    {        cout     Date d1;    Date d2;    d1.Init(&d1,2024, 1, 30);//这里只是为了方便大家理解,才写的取地址,实际写的过程中不需要前面这&d1    d2.Init(&d2,2025, 2, 32);    d1.Print();    d2.Print();    return 0;}public:void Print() {cout A* p = nullptr;p-Print();return 0;}public:void Print() {assert(NULL);cout A* p = nullptr;p-Print();return 0;}public:void PrintA() {cout A* p = nullptr;p-PrintA();return 0;}

上一篇:Win10分区重装系统全攻略,详细步骤,轻松上手!

下一篇:奇迹单机主机启动失败是怎么回事