通过赋值初始化 class 对象
Initialization of a class object by assignment
我今天用构造函数做了一些实验:
class cls
{
int a;
public:
cls(){cout<<"Default constructor called\n";}
cls(int b){a=b;cout<<"Constructor with parameter called";}
}
然后就是这种初始化
cls x=5;
产生一个输出,表明已调用带参数的构造函数。
我的问题 i:如果我有一个带有两个或更多参数的构造函数怎么办?我还能使用赋值初始化吗?
您可以像这样使用更多参数执行相同操作:
#include <iostream>
class cls
{
int a;
double b;
public:
cls(){std::cout<<"Default constructor called\n";}
cls(int a): a(a){std::cout<<"Constructor with parameter called";}
cls(int a, double b) : a(a), b(b){std::cout<<"Constructor with two parameter called";}
};
int main()
{
cls t = {1, 1.5};
return 0;
}
我今天用构造函数做了一些实验:
class cls
{
int a;
public:
cls(){cout<<"Default constructor called\n";}
cls(int b){a=b;cout<<"Constructor with parameter called";}
}
然后就是这种初始化
cls x=5;
产生一个输出,表明已调用带参数的构造函数。
我的问题 i:如果我有一个带有两个或更多参数的构造函数怎么办?我还能使用赋值初始化吗?
您可以像这样使用更多参数执行相同操作:
#include <iostream>
class cls
{
int a;
double b;
public:
cls(){std::cout<<"Default constructor called\n";}
cls(int a): a(a){std::cout<<"Constructor with parameter called";}
cls(int a, double b) : a(a), b(b){std::cout<<"Constructor with two parameter called";}
};
int main()
{
cls t = {1, 1.5};
return 0;
}