小工具知识网

当前位置: 首页 > 行业知识 > 【C++要哮着学】类和对象

行业知识

【C++要哮着学】类和对象

2026-11-02 07:09:31 来源:互联网转载

文章目录

  • 前言
  • 面向过程和面相对象初步认识
  • 类的定义
  • 类的访问限定符及封装
    • 访问限定符
    • 封装
    • 类的作用域
    • 类的实例化
    • 类对象模型
      • 如何计算类的大小
      • 结构体内存对齐规则
      • 类对象的存储方式
        • 1.对象中包含类的各个成员
        • 2.代码只保存一份,在对象中保存存放代码的地址
        • 3.只保存成员变量,成员函数存放在公共的代码段
        • this指针
          • this指针的引出
          • this指针的特性
          • 注意事项
          • 结尾

            前言

            面向过程和面相对象初步认识

            C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。

            C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完

            成。

            这里面总共有四个对象:人、衣服、洗衣粉、洗衣机。

            整个洗衣过程:人将衣服放进洗衣机、倒入洗衣粉、启动洗衣机,洗衣机就会完成洗衣过程并甩干。

            整个过程主要是:人,衣服,洗衣机,洗衣粉四个对象之间交互完成的,人不需要关心洗衣机具体是如何洗衣服的,是如何甩干的。

            类的定义

            class classname{//类型:由成员变量和成员函数组成};// 和结构体struct一样最后记得加分号

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

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

            类的两种定义方式:

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

              这里将声明和定义都放进类中。

            class Person{public://显示基本信息void showInfo(){cout public://显示基本信息void showInfo();private://需要留意的是 成员变量这里是声明 并没有开辟空间 不是定义char* _name;//名字char* _sex;//性别int _age;//年龄};cout public:void TimeInfo();private:int _year;int _month;int _day;};// 在类外面 需要指明 TimeInfo是属于类Time这块区域的void Time::TimeInfo(){cout public:void time(int year, int month, int day){_year = year;_month = month;_day = day;}void Print(){cout Date Time;Time.time(2024, 5, 19);Time.Print();return 0;}private:int _a;char _i;};//一个class B{private:char _i;};//空 class C{//空的 什么都木有};int main(){cout 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, 5, 19);d2.Init(2024, 5, 20);d1.Print();d2.Print();}

上一篇:揭秘手机投注源码真相,警惕风险,切勿上当受骗!

下一篇:暗炉钥匙背后的神秘之门,揭秘隐藏的秘密!