首页 > 编程语言 >C++构造函数复习

C++构造函数复习

时间:2023-06-15 14:06:13浏览次数:55  
标签:cons 复习 另存为 C++ element 12 Element 构造函数


#include <iostream>

using namespace std;

class Element
{
  public:
    Element(int e = 12) : elem(e)
    {
      cout << "element 1" << endl;
    }
    int elem;
};

class ArrayHelper
{
  public:
    ArrayHelper()
    {
      cout<< "cons 1" << endl;
    }
    ArrayHelper(int size) : val(size)
    {
      cout<< "cons 2" << endl;
    }
    ArrayHelper(const ArrayHelper &other)
    {
      cout<< "cons 3" << endl;
      val = other.val;
    }

    ArrayHelper &operator=(const ArrayHelper &other)
    {
      cout<< "cons 4" << endl;
      val = other.val;
      s = other.s;
      return *this;
    }
  public:
    int val;
    Element s;
};
int main()
{
  ArrayHelper x;
  ArrayHelper m(12);
  ArrayHelper v = m;
  v = m;
  cout<< v.val << endl;
}

另存为test_constructor.cpp,用g++编译运行,结果为:

element 1
cons 1
element 1
cons 2
element 1
cons 3
cons 4
12



标签:cons,复习,另存为,C++,element,12,Element,构造函数
From: https://blog.51cto.com/u_16162111/6486716

相关文章

  • 如何寻找 C++ 程序中的大对象?
    问题背景大型应用程序中包含成千上万个C++对象,这些对象大小如何?有没有一些大对象很废?例如,在OceanBase0.4开源版本中Top10的大对象,最大的一个占58MB内存:排序大小类名158,720,304rootserver::ObRootTable2220,163,008updateserver::ObUpdateServerMain320,15......
  • C++ 文件和流
     到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。本教程介绍如何从文件读取流和向文件写入流。这就需要用到C++中另一个标准库 fstream,它定义了三个新的数据类型:数据类型描述ofstream该数据类......
  • C/C++商品信息管理系统[2023-06-15]
    C/C++商品信息管理系统[2023-06-15]选题4商品信息管理系统的设计与实现设计要求本课题要求同学们完成一个信息管理类的课题---《商品信息管理系统》,能够对商品信息进行有效的管理,实现商品信息查询、商品销售、商品进货、商品销售信息统计等方面的基本操作。管理内容(商品信息......
  • c++ mutex
    mutex直译为互斥量。使用它可以做到:一份共享数据,同时只能由一个线程访问,在此基础上会衍生很多很方便的api,通过mutex将共享数据的访问变成互斥操作,避免与时间相关的错误简单结论及定义:1.每个线程在对资源操作前都尝试先加锁,加锁成功才能操作,操作结束就解锁 2. ......
  • 新方法学C++之编程范式
    C++属于多编程范式语言:过程编程、结构化编程、面向对象编程、泛式编程、函数式编程。过程编程:类似于汇编语言结构化编程:类似C语言,把分支测试等做成了结构化面向对象编程:按解决问题的方式来编程泛式编程:解决代码可复用的问题函数式编程:类似于lisp编程语言......
  • C++ 数值最大最小标识符一网打尽,INT_MIN/ INT_MAX/LONG_MIN/LONG_MAX 等等
    ConstantMeaningValueCHAR_BIT Numberofbitsinthesmallestvariablethatisnotabitfield. 8SCHAR_MIN Minimumvalueforavariableoftypesignedchar. -128SCHAR_MAX Maximumvalueforavariableoftypesignedchar. 127UCHAR_MAX Maximumvalueforav......
  • C++面试八股文:在C++中,有哪些可执行体?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第14面:面试官:在C++中,有哪些可执行体?二师兄:可执行体?面试官:也就是可调用对象。二师兄:让我想一想。函数、函数指针、类的静态方法、类的成员方法、仿函数、lambda表达式。面试官:能说一说他们之间有什么区别吗?二师兄:好的。函数是......
  • 《数字逻辑电路》复习笔记
    其实还是计算机系的课比较适合写复习笔记emm数制和码制各种进制是什么意思:略进制间互相转换:10-2:%2取余,倒序就是二进制了2-8:三位一组化成8进制;8-2:每位扩充成三位2进制表示;(2-16同理)十进制数的二进制编码(BCD码):8421码:四位二进制码从高......
  • C++类型转换详解--const_cast
    一.函数描述:const_cast<type-id>(expression)主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。去掉const属性:const_case<int*>(&num),常用,因为不能把一个const变量直接赋给一个非const变量,必须要转换。加上const属性:constint*k=const_case......
  • C++ 深入理解const_cast转换运算符
    const_cast转换运算符我们在RTTI和类型转换运算符中详细介绍过它的用法和使用场景,今天我们对其进一步了解一下。首先我们回忆一下它的作用和用法。const_cast的基本使用const_cast运算符用于执行只有一种用途的类型转化,即改变const或volatile。用法如下:const_cast<type_name>......