• 我相信“交警雨中护送高考生”是真,“交警雨中护送高考生”反被该高考生家长投诉是假。 2019-04-16
  • 14名消防员日巡逻28公里 洗冷水澡 2019-04-10
  • 靶壕有了“蓝军”,百发百中的“神枪手”练起来 2019-04-10
  • 不是秀强大了,别人就会来做朋友,这逻辑不对 2019-04-01
  • 候选企业:中国石油呼和浩特石化公司 2019-03-26
  • 航天员沙漠野外生存训练完美收官!为第一天团打call 2019-03-25
  • 请问,建立市场经济后,原计划经济哪里去?改革后,我们还在实行计划经济,为何没有提及? 2019-03-25
  • 构建年轻干部梯次培养链 2019-03-19
  • 孙实的专栏作者中国国家地理网 2019-03-15
  • 湖南师范大学举行研究阐释党的十九大精神国家社科基金重大专项学术研讨会 2019-03-15
  • [雷人]蠢货!土地处于不同的城市和地段,关联的资源不一样,价值也不一样。不然给咱俩同样面积的土地,咱的在北上广深,你的在边远山区,你干么? 2019-03-08
  • 国际社会持续热议上合青岛峰会:上合组织发展进入新阶段 彰显中国领导力 2019-03-08
  • 珍惜野生动物频现甘孜境内 生态环境质量不断提升 2019-03-06
  • "新经济形势下金融创新的变革与机遇"论坛 2019-03-06
  • 频道栏目
    神奇公式秒杀全国11选5 > 程序开发 > 软件开发 > C++ > 正文
    C++编程之引用和拷贝构造函数、按值传递和返回、位拷贝与初始化等实例
    2018-07-27 13:51:58         来源:eyetired的博客  
    收藏   我要投稿

    神奇公式秒杀全国11选5 www.2zfa.com 对于传递和返回大的简单结构有了可使用的方法

    一个类在任何时候都知道她存在多少个对象

    //: C11:HowMany.cpp
    // From Thinking in C++, 2nd Edition
    // Available at https://www.BruceEckel.com
    // (c) Bruce Eckel 2000
    // Copyright notice in Copyright.txt
    // A class that counts its objects
    #include 
    #include 
    using namespace std;
    ofstream out("HowMany.out");
    
    class HowMany {
     static int objectCount;
    public:
     HowMany() { objectCount++; }
     static void print(const string& msg = "") {
      if(msg.size() != 0) out << msg << ": ";
      out << "objectCount = "
        << objectCount << endl;
     }
     ~HowMany() {
      objectCount--;
      print("~HowMany()");
     }
    };
    
    int HowMany::objectCount = 0;
    
    // Pass and return BY VALUE:
    HowMany f(HowMany x) {
     x.print("x argument inside f()");
     return x;
    }
    
    int main() {
     HowMany h;
     HowMany::print("after construction of h");
     HowMany h2 = f(h);
     HowMany::print("after call to f()");
    } ///:~

    HowMany类包括一个静态变量int objectCount和一个用于报告这个变量的

    静态成员函数print(),这个函数有一个可选择的消息参数

    输出不是我们期望的那样

    after construction of h: objectCount = 1

    x argument inside f(): objectCount = 1

    ~HowMany(): objectCount = 0

    after call to f(): objectCount = 0

    ~HowMany(): objectCount = -1

    ~HowMany(): objectCount = -2

    在h生成以后,对象数是1,这是对的

    原来的对象h存在函数框架之外,同时在函数体内又增加了一个对象,这个对象

    是通过传值方式传入的对象的拷贝

    在对f()的调用的最后,当局部对象出了其范围时,析构函数就被调用,析构

    函数使objectCount减小

    点击复制链接 与好友分享!回本站首页
    上一篇:关于C++多态的基础知识讲解
    下一篇:C++的单例模式的几种实现方式解析
    相关文章
    图文推荐
    点击排行

    关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 神奇公式秒杀全国11选5

    版权所有: 神奇公式秒杀全国11选5--致力于做实用的IT技术学习网站

  • 我相信“交警雨中护送高考生”是真,“交警雨中护送高考生”反被该高考生家长投诉是假。 2019-04-16
  • 14名消防员日巡逻28公里 洗冷水澡 2019-04-10
  • 靶壕有了“蓝军”,百发百中的“神枪手”练起来 2019-04-10
  • 不是秀强大了,别人就会来做朋友,这逻辑不对 2019-04-01
  • 候选企业:中国石油呼和浩特石化公司 2019-03-26
  • 航天员沙漠野外生存训练完美收官!为第一天团打call 2019-03-25
  • 请问,建立市场经济后,原计划经济哪里去?改革后,我们还在实行计划经济,为何没有提及? 2019-03-25
  • 构建年轻干部梯次培养链 2019-03-19
  • 孙实的专栏作者中国国家地理网 2019-03-15
  • 湖南师范大学举行研究阐释党的十九大精神国家社科基金重大专项学术研讨会 2019-03-15
  • [雷人]蠢货!土地处于不同的城市和地段,关联的资源不一样,价值也不一样。不然给咱俩同样面积的土地,咱的在北上广深,你的在边远山区,你干么? 2019-03-08
  • 国际社会持续热议上合青岛峰会:上合组织发展进入新阶段 彰显中国领导力 2019-03-08
  • 珍惜野生动物频现甘孜境内 生态环境质量不断提升 2019-03-06
  • "新经济形势下金融创新的变革与机遇"论坛 2019-03-06