东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1125|回复: 0
打印 上一主题 下一主题

[C/C++] 构造中调用构造函数,直接调用构造函数会产生匿名对象

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
跳转到指定楼层
楼主
发表于 2021-5-28 10:27:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式



构造中调用构造函数,直接调用构造函数会产生匿名对象


  1. #include <iostream>

  2. using namespace std;

  3. class Test01
  4. {
  5. private:
  6.     int a,b,c;
  7. public:
  8.     Test01(int _a, int _b){
  9.         printf("两个参数的构造函数\n");
  10.         a = _a;
  11.         b = _b;
  12.         Test01(a, b, 100);
  13.     }
  14.      Test01(int _a, int _b, int _c){
  15.          printf("3个参数的构造函数\n");
  16.         a = _a;
  17.         b = _b;
  18.         c = _c;
  19.     }
  20.     ~Test01(){
  21.         printf("析构函数:%d,%d,%d\n", a, b, c);
  22.     }
  23.     int get_c(){
  24.         return c;
  25.     }
  26. };



  27. //构造中调用构造函数,直接调用构造函数会产生匿名对象
  28. //匿名对象如果没人去接,立马调用析构函数


  29. int main(){
  30.     Test01 t1(1,2);
  31.     printf("看看c的值:%d\n", t1.get_c());


  32.     return 0;
  33. }

  34. // 两个参数的构造函数
  35. // 3个参数的构造函数
  36. // 析构函数:1,2,100
  37. // 看看c的值:21915
  38. // 析构函数:1,2,21915
复制代码


匿名对象.png (78.77 KB, 下载次数: 77)

匿名对象.png
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-19 18:46 , Processed in 0.185498 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表