首页 > 编程语言 >C++ 类构造函数 & 析构函数

C++ 类构造函数 & 析构函数

时间:2024-01-10 16:47:09浏览次数:29  
标签:调用 对象 代表 C++ AB 析构 构造函数 赋值

题目:假定AB为一个类,则执行 ”AB a(2), b[3], *p[4];“ 语句时调用该类构造函数的次数为4次。

 

解析:

AB a(2) 为调用一次构造函数;

AB b[3]  代表b是AB类的对象数组,包含3个对象,因此为调用3次构造函数;

AB *p[4] 代表p是AB类的对象指针数组,包含4个类对象指针,不调用构造函数。

 

补充思路:

1. AB *a = new AB;  代表调用默认构造函数:

2. AB b(*a); 代表用括号中的内容*a来初始化Test类型的对象b,调用拷贝构造函数;

3. AB c; 代表定义一个AB类型的对象c,并且没有赋初值,调用默认构造函数;

4. c = a; 代表用a对象给c对象赋值,这里的赋值运算符实际上是调用了赋值构造函数。

5. AB d = a; 代表进行变量d的定义和初始化操作,虽然有赋值运算符=在,但是其实质还是初始化,并不属于赋值的范畴,因此这里调用的是复制构造函数,而非赋值构造函数。

标签:调用,对象,代表,C++,AB,析构,构造函数,赋值
From: https://www.cnblogs.com/uacs2024/p/17956806

相关文章

  • C++设计模式04 —— 观察者模式
    观察者模式一种一对多的依赖关系,当被依赖的对象发生改变时,所有依赖它的对象都能够做出相应的改变。为一个文件分割器加入进度展示。我们需要支持多个类型的进度条,我们可以随意操控进度条的样式细节。首先,我们做一个进度条的抽象基类classIProgress{public:virtu......
  • Helix QAC 2023.4 新版支持C++20语言,带来更多性能提升!
    HelixQAC2023.4新增功能HelixQAC2023.4全面支持MISRAC++:2023®规则,涵盖100%的指南。此版本还加强了对C++20语言的支持,改进了数据流分析性能,并在整个产品中增加了多项用户体验改进。增强的C++20支持此版本新增了对以下语言特性的支持:-模板参数列表和函数声明的requires-clau......
  • Helix QAC 2023.4 新版支持C++20语言,带来更多性能提升!
    HelixQAC2023.4新增功能HelixQAC2023.4全面支持MISRAC++:2023®规则,涵盖100%的指南。此版本还加强了对C++20语言的支持,改进了数据流分析性能,并在整个产品中增加了多项用户体验改进。增强的C++20支持此版本新增了对以下语言特性的支持:-模板参数列表和函数声明的require......
  • C++和Qt面试题(精简版)
    C++面试题什么是c++?请简述它的优点和缺点c++是一种面向对象的编程语言,实现了继承、抽象、多态和封装等概念。**优点:**能够开发复杂的应用程序,提供了极大地灵活性,让开发者能够控制资源的使用和可用性,从而最大限度的提高性能。**缺点:**由于C++太过自由,导致指针对内存操作时可能造成内......
  • C++字符串操作函数笔记#
    1.strcpy()从strSrc地址开始且含有'\0'结束符的字符串复制到strDest开始的地址空间中,返回值类型为char* char*strcpy(char*strDest,constchar*strSrc) { assert((strDest!=NUL)&&(strSrc!=NULL)); char*address=strDest; while((*strDest++=*strSr......
  • c++内存打印函数
    voidPrintBuffer(void*pBuff,unsignedintnLen){if(NULL==pBuff||0==nLen){return;}constintnBytePerLine=16;unsignedchar*p=(unsignedchar*)pBuff;charszHex[3*nBytePerLine+1]={0};printf("--......
  • 刷题笔记——栈(C++)
    LCR148.验证图书取出顺序-力扣(LeetCode)现在图书馆有一堆图书需要放入书架,并且图书馆的书架是一种特殊的数据结构,只能按照 一定 的顺序 放入 和 拿取 书籍。给定一个表示图书放入顺序的整数序列 putIn,请判断序列 takeOut 是否为按照正确的顺序拿取书籍的操作序列。你可......
  • 【动态规划】【字符串】C++算法:正则表达式匹配
    作者推荐视频算法专题涉及知识点动态规划字符串LeetCode10:正则表达式匹配给你一个字符串s和一个字符规律p,请你来实现一个支持‘.’和‘’的正则表达式匹配。‘.’匹配任意单个字符'’匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符......
  • 【C++】STL 容器 - STL 容器的值语意 ( 容器存储任意类型元素原理 | STL 容器元素可拷
    文章目录一、STL容器的值(Value)语意1、STL容器存储任意类型元素原理2、STL容器元素可拷贝原理3、STL容器元素类型需要满足的要求4、STL容器迭代器遍历二、代码示例-自定义可存放入STL容器的元素类1、代码示例2、执行结果一、STL容器的值(Value)语意1、STL......
  • 【错误记录】C++ 字符串常量参数报错 ( 无法将参数 1 从“const char [4]”转换为“ch
    文章目录一、报错信息二、问题分析三、解决方案1、设置VisualStudio的兼容规则2、修改实参类型①3、修改实参类型②4、修改实参类型③5、修改形参类型一、报错信息定义了一个函数,接收char*类型的字符串参数;//接收字符串参数并打印voidfun(char*str){ cout<......