C++构造函数复习

xiaoxiao2021-03-01  68

#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

转载请注明原文地址: https://www.6miu.com/read-4199958.html

最新回复(0)