什么是无参构造函数
#include<iostream>
using namespace std;
class Test2
{
public:
Test2()//无参构造函数,括号里没有任何参数
{
m_a = 0;//加断点调试
m_b = 0;
cout<<"无参构造函数"<<endl;
}
public:
void printT()
{
}
protected:
private:
int m_a;
int m_b;
};
int main()
{
Test2 t1;//什么都不写调用的是 无参构造函数,加断点调试
system("pause");
return 0;
}
什么是有参调用函数以及有参构造函数的三种调用方法
#include<iostream>
using namespace std;
class Test2
{
public:
Test2(int a)//一个参数构造函数
{
m_a = 0;
m_b = 0;
cout<<"一个参数构造函数"<<endl;
}
Test2(int a,int b)//有参构造函数
{
m_a = 0;
m_b = 0;
cout<<"有参构造函数"<<endl;
}
Test2(const Test2& obj)////赋值构造函数,(copy构造函数)
{
cout<<"我也是构造函数"<<endl;
}
public:
void printT()
{
}
protected:
private:
int m_a;
int m_b;
};
//调用有参构造函数的三种方法
int main()
{
//(1):第一种方法:括号法
Test2 t1(1,2);//调用有参构造函数---要加参数 c++编译器帮我们自动的调用构造函数(调用的是两个参数的构造函数)
//(2)等号法
//逗号表达式:如果有逗号,最后一个值是最后的值
Test2 t2 = (3,4);// ”=“ c++对等号操作符增强 c++编译器帮我们自动的调用构造函数(调用的是一个参数的构造函数)
Test2 t3 = 5;
//(3)直接调用构造函数 手动的调用构造函数
Test2 t4 = Test2(1,2);//匿名对象 (匿名对象的去和留)
system("pause");
return 0;
}