c++封装

什么是封装

封装面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。
C++ 通过创建类来支持封装。

数据成员&成员函数:构成精彩而完整的类

类的定义,以dog类为例:

class Dog
{
    public:
           //数据成员(属性)
          string m_strName;
          int m_iAge;
          //成员函数(方法)
          void speak();
          void run();
}

注意:Dog类中并不包含狗的全部信息,而是针对不同目的抽象出不同的信息。
访问限定符:
public:希望暴露的信息用public限定
private:希望隐藏的信息用private限定
protected:

构造函数&析构函数:描述对象的生生死死

实例化对象有两种方式:

  • 从栈中实例化
    对上述Dog类进行实例化并访问类的数据成员:
int main()
{
      Dog  dog;//使用完后系统会自动释放内存
      dog.m_strName = "二哈";//对象成员的访问
      dog.run();
      Dog  dog[4];
      return 0;
}
  • 从堆中实例化
    同样对上述Dog类进行实例化并访问类的数据成员:
int main()
{
      Dog  *p = new Dog();//new运算符申请一段内存
      Dog  *p = new Dog[4];
      //对象数组对数据成员的访问,用循环
     for (int i = 0; i < 4; i++)
{
    p[i]->run();
}
      p->m_strName = "二哈";
      p->run();
      //从堆中实例化对象后一定要记得释放内存
      delete p;
     p = NULL;
      delete  [] p;
      return 0;
}

对象复制&对象赋值:使类的定义充满意义

对象数组&对象指针:将应用形态发挥的淋漓尽致

this指针:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,144评论 1 51
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 10,463评论 0 13
  • C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 7,923评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,905评论 18 399
  • 这本书有错别字也就算了,竟然连最基本的标点符号都出现失误。不过,看在这本书内容的份上,我接受这些失误的存在。 因为...
    大Amo阅读 3,567评论 3 1