zoukankan      html  css  js  c++  java
  • 构造函数调用C++ 类和动态内存分配

    本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~

        载重特别的一个:

        void  name() const;  // 只能被const类型的对象调用

        void  name();  // 被一般的对象调用

        是个载重的函数,载重可以以函数类型和个数,以及函数限制符(const)来别区载重的函数

        

        C++主动供提了上面这些成员函数:

        认默构造函数,如果没有义定构造函数

        复制构造函数,如果没有义定

        赋值操作符,如果没有义定

        认默析构函数,如果没有义定

        地址操作符,如果没有义定。

        

        载重 << 操作符

        义定上面元友

    ostream &  opeartor << (ostream & os, const c_name  & obj)
    {
           os << ...;
           return os;
    }

        复制构造函数的一般情势

        每日一道理
    我把卷子摊在课桌上,恨不得敲一阵锣,叫大家都来看看我这光彩的分数。

        class name(const classname &);

        复制构造函数被调用的情势:

        假设 A 是一个string对象

        string  B(A)

        string  C  =  A

        string  D  =  string(A)

        string  *E  = new  string(A);

        还有每当编译器成生副本都调用复制构造函数。具体来说,当函数安值传递对象或函数返回对象时,调用复制构造函数。

        

        赋值操作符的一般情势

    c_name  &  c_name::operator = (const c_name & cn)
    {
          if(this == &cn)
              return *this;
          delete[]   c_pointer; //放释原类中的指针指向的容内
          c_pointer = new type_name[size];
          ......
          return *this;
    }

        只有  A = B 才调用赋值操作符,而  string  A  = B  调用复制构造函数,一般不调用赋值操作符。

    文章结束给大家分享下程序员的一些笑话语录: 人脑与电脑的相同点和不同点,人脑会记忆数字,电脑也会记忆数字;人脑会记忆程序,电脑也会记忆程序,但是人脑具有感知能力,这种能力电脑无法模仿,人的记忆会影响到人做任何事情,但是电脑只有程序软件。比尔还表示,人脑与电脑之间最重要的一个差别就是潜意识。对于人脑存储记忆的特别之处,比尔表示,人脑并不大,但是人脑重要的功能是联络,人脑会把同样的记忆存储在不同的地方,因此记忆读取的速度就不相同,而这种速度取决于使用的频率和知识的重要性。人脑的记忆存储能力会随着年龄增长而退化,同时记忆的质量也会随着年龄退化。经典语录网

  • 相关阅读:
    Nodejs 进阶:Express 常用中间件 body-parser 实现解析
    Nodejs进阶:express+session实现简易身份认证
    Node 进阶:express 默认日志组件 morgan 从入门使用到源码剖析
    Nodejs进阶:如何玩转子进程(child_process)
    express+session实现简易身份认证
    你真的了解UIViewController生命周期吗?
    你真的了解UIGestureRecognizer吗?
    你真的了解UIEvent、UITouch吗?
    你真的了解UIScrollView吗?
    你真的了解UITextView吗?
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3047717.html
Copyright © 2011-2022 走看看