Joh*_*ung 1 c++ overloading operator-keyword
我正在创建自己的课程,我希望能够像标题一样启动它.
a = {x, y};
Run Code Online (Sandbox Code Playgroud)
我无法找到任何指示我如何做到这一点.
假设您实际上希望能够以这种方式分配(而不是初始化),则需要重载operator=,但其参数类型完全取决于大括号中的列表所代表的内容.
例如,如果您总是要传递一对值,那么您可以使用以下内容进行operator=重载std::pair:
A& operator=(std::pair<int, int>);
Run Code Online (Sandbox Code Playgroud)
这可以像这样调用:
A a;
a = {5, 3};
Run Code Online (Sandbox Code Playgroud)
如果您希望能够传递任意长度列表,则可以将参数类型设置为std::initializer_list:
A& operator=(std::initializer_list<int>);
Run Code Online (Sandbox Code Playgroud)
现在以下所有情况都可以:
a = {};
a = {1, 2};
a = {5, 3, 5, 2, 3};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |