构造函数的调用
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
class A
{
public:
A(){a=1;}
A(int a){
this->a=a;
}
void showA(){
cout<<a<<endl;
}
protected:
private:
int a;
};
int main(int args,const char * argv[])
{
A a0(); //函数声明,不是创建对象
//a0.showA(); //报错
A a1; //无参构造函数的调用,不需要括号
a1.showA();
A a2(2); //有参构造函数
a2.showA();
A a3=3;//有参构造函数,同时调用了转化构造函数
a3.showA();
A a4=(1,2,3,4); //有参构造函数,同时调用了转化构造函数,使用了逗号表达式
a4.showA();
A a5=A(5); //创建了匿名对象
a5.showA();
cout<<"\n###################"<<endl;
return 0;
}