• C++封装详细解析+代码演示


    C++封装解析+代码演示

    封装是面向对象编程的重要概念,是将对象或方法的数据隐藏抽象化数据仅向用户暴露操作接口而把具体的实现细节隐藏起来的机制,封装的目的是消除传统结构方法中数据与操作分离所带来的种种问题,提高程序的可复用性和可维护性,降低程序的开发难度和复杂度
    C++是通过类来支持封装功能。在任何带有公有(public)和私有(private)成员的类都可以作为数据封装和数据抽象的实例,通常情况下我们创建一个类并将这个类的成员定义为私有成员,这样做是为了隐藏这个类的属性,从而达到封装的目的。
    下面继续以例程来讲解封装,以猫类为例,增加喂食方法feed(int number),参数number指示喂食的次数,将喂食方法声明为public,这样feed(int number)就暴露给用户了,设置猫类私有成员,食物的份数total,然后再增加一个公有的方法foodnmuber(),通过这个方法获取总共喂食次数。
    编辑文件encapsulation_example.cpp,输入如下代码:
    在这里插入图片描述

    【代码讲解】:
    第11~14行:声明并定义构造函数。参数项定义一个int值i初始化为0,并将i的初始值赋给total。这里体现了构造函数的初始化功能,变量的初始化一般放置于构造函数内,不要直接放置于类内,有些编译器可能不支持。
    第16~19行:声明并定义feed方法,获取食物的数量并赋值给食物计数total。
    第21~24行:声明并定义foodNumber方法,统计食物总计数。
    执行编译:
    g++ encapsulation_example.cpp -o encapsulation_example.out
    执行结果:
    在这里插入图片描述

  • 相关阅读:
    MyBatis使用<foreach>标签like查询报错解决
    springboot将jar改成war
    寄存器(汇编语言)
    linux的基本工具【yum和vim】
    OpenStack云计算平台实战-----创建空白虚拟机
    Mybatis框架学习
    Java EE|多线程基本操作
    1.2 ElasticSearch核心术语
    软件测试岗位未来趋势怎么样?
    kubeadm创建kubernetes集群
  • 原文地址:https://blog.csdn.net/weixin_46068274/article/details/127782242