构造函数的分类
demo
#include <iostream>
using namespace std;
class Text
{
public:
Text() // 无参数构造函数
{
m_a = 0;
m_b = 0;
cout << "无参数构造函数" << endl;
}
Text(int a) // 有参数构造函数
{
m_a = a;
m_b = 0;
cout << "无参数构造函数" << endl;
}
Text(int a, int b) // 有参数构造函数,有三种调用方法
{
m_a = a;
m_b = b;
cout << "有参数构造函数" << endl;
}
// 赋值构造函数,也叫copy构造函数
Text(const Text& obj)
{
cout << "这也是构造函数" << endl;
}
~Text();
private:
int m_a;
int m_b;
};
int main()
{
// 1括号法
Text t1; // 调用无参数构造函数
// 2等号法
Text t2 = (3, 4, 5, 6, 7);
// C++对等号进行了加强,c++编译器自动的调用构造函数
// 3直接调用构造函数,手动调用构造函数
Text t3 = Text(1, 2); // 这里涉及到匿名对象
return 0;
}

浙公网安备 33010602011771号