千家信息网

C++类与封装的概念是什么及怎么使用

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"C++类与封装的概念是什么及怎么使用",在日常操作中,相信很多人在C++类与封装的概念是什么及怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C
千家信息网最后更新 2026年10月31日C++类与封装的概念是什么及怎么使用

这篇文章主要介绍"C++类与封装的概念是什么及怎么使用",在日常操作中,相信很多人在C++类与封装的概念是什么及怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++类与封装的概念是什么及怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、类的组合

电脑一般而言是由 CPU,内存,主板,键盘和硬盘等部件组合而成。

二、类的封装

类通常分为以下两个部分

  • 类的实现细节

  • 类的使用方式

  • 当使用类时,不需要关心其实现细节

  • 当创建类时,才需要考虑其内部实现细节

例:

普通用户使用手机

  • 只需要学习如何发短信,打电话,拍照,等等

手机开发工程师

  • 需要考虑手机内部的实现细节

封装的基本概念

根据经验:并不是类的每个属性都是对外公开的

  • 如:女孩子不希望外人知道自己的体重和年龄

  • 如:男孩子不希望别人知道自己的身高和收入

而一些类的属性是对外公开的

  • 如:人的姓名,学历,国籍,等

必须在类的表示法中定义属性和行为的公开级别

  • 类似文件系统中文件的权限

C++中类的封装

  • 成员变量:C++中用于表示类属性的变量

  • 成员函数:C++中用于表示类行为的函数

  • C++中可以给成员变量和成员函数定义访问级别

public

  • 成员变量和成员函数可以在类的内部和外界访问和调用

private

  • 成员变量和成员函数只能在类的内部被访问和调用

下面看一段类成员的访问属性的代码:

#include  struct Biology {    bool living;}; struct Animal : Biology {    bool movable;        void findFood()    {     }};  struct Human : Animal {    void sleep()     {         printf("I'm sleeping...\n");    }        void work()     {         printf("I'm working...\n");    }}; struct Girl : Human{private:    int age;    int weight;public:    void print()    {        age = 22;        weight = 48;                printf("I'm a girl, I'm %d years old.\n", age);        printf("My weight is %d kg.\n", weight);    }}; struct Boy : Human{private:    int height;    int salary;public:    int age;    int weight;     void print()    {        height = 175;        salary = 9000;                printf("I'm a boy, my height is %d cm.\n", height);        printf("My salary is %d RMB.\n", salary);    }    }; int main(){    Girl g;    Boy b;        g.print();        b.age = 19;    b.weight = 120;    //b.height = 180;        b.print();        return 0;}

下面为输出结果:

注意:如果我们访问 boy 里面的 height,因为是 private,所以编译时就会报如下错误:

三、类成员的作用域

类成员的作用域

  • 类成员的作用域都只在类的内部,外部无法直接访问

  • 成员函数可以直接访问成员变量和调用成员函数

  • 类的外部可以通过类变量访问 public 成员

  • 类成员的作用域与访问级别没有关系

注:C++ 中用 struct 定义的类中所有成员默认为 public

下面看一段类成员的作用域的代码:

#include  int i = 1; struct Test{private:    int i; public:    int j;            int getI()    {        i = 3;                return i;    }}; int main(){    int i = 2;        Test test;        test.j = 4;        printf("i = %d\n", i);              // i = 2;    printf("::i = %d\n", ::i);          // ::i = 1;    // printf("test.i = %d\n", test.i);    // Error    printf("test.j = %d\n", test.j);    // test.j = 4    printf("test.getI() = %d\n", test.getI());  // test.getI() = 3        return 0;}

下面为输出结果:

::i 意味着访问默认命名空间中的 i 变量,默认的命名空间就是全局作用域。

到此,关于"C++类与封装的概念是什么及怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

成员 C++ 变量 封装 函数 作用 概念 属性 学习 细节 手机 级别 代码 文件 更多 空间 结果 行为 对外 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 喔噻互联网科技有限公司 北京路客互联网科技有限公司 广州百单互联网科技有限公司 科技互联网技术 互联网科技未来 狮子座互联网科技培训 互联网高科技企业 上海亿帐通互联网科技 广西拼得多互联网科技有限公司 广州恒生互联网科技有限 湖南诚度互联网科技有限公司 荆州市昕露互联网络科技有限公司 花神(南京)互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 互联网科技大奖都有哪些公司 西安左小互联网科技有限公司 互联网科技和医药行业 伍佰万互联网科技是干嘛的 知域互联网科技有限公司官网 科技和互联网公司 郑州华宇互联网科技 大白互联网科技 互联网科技类展会 港股科技和互联网 烟台灵鸽互联网科技有限公司 区块链结合互联网科技 科技互联网专业务虚会材料 宁波允成互联网科技有限公司 互联网科技自媒体灵感
0