C++ 通过赋值初始化类对象
我今天和施工人员做了一些实验:C++ 通过赋值初始化类对象,c++,class,constructor,initialization,assignment-operator,C++,Class,Constructor,Initialization,Assignment Operator,我今天和施工人员做了一些实验: cls类 { INTA; 公众: cls(){cout您可以对更多类似的参数执行相同的操作: #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
cls类
{
INTA;
公众:
cls(){cout您可以对更多类似的参数执行相同的操作:
#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;
}
#包括
cls类
{
INTA;
双b;
公众:
cls(){std::coutYou可以使用foox={blah,blah};
。顺便说一下,您的“通过赋值初始化”称为复制初始化。您是否将-std=c++11
传递给编译器?cls(int b){a=b;cout@trisct复制初始化是一个标准的艺术术语,与复制构造函数没有直接关系。那么在这里使用()和{}到底有什么区别呢?我想你不明白这个问题。这不是复制初始化。@L.F.这是直接初始化,不是吗?@ElProfesor Yes@trisct{}是一个列表初始化,您可以使用cls t={a,b};