码迷,mamicode.com
首页 > 其他好文 > 详细

一个FLAG #18# 再谈结构体

时间:2020-04-21 23:48:30      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:代码   flag   his   java   new   int   iostream   str   names   

例子

书上的原始代码:

#include <iostream>

using namespace std;

struct Point {
    int x, y;
    Point(int x = 0, int y = 0): x(x), y(y) {
        // x(x), y(y) 等价于
        // this->x = x; this->y = y; 
    }
};

Point operator + (const Point &A, const Point &B) { // 在 struct 内部定义加法 是单个参数。 
    return Point(A.x + B.x, A.y + B.y);
}
    
ostream& operator << (ostream &out, const Point &p) {
    out << "(" << p.x << "," << p.y << ")";
    return out;
}

int main()
{
    Point a, b(1, 2); // 与 java 不同, 它不需要手动去new
    // 在这里直接自动调用了 Point() 以及 Point(1, 2) 
    a.x = 3;
    cout << a + b << "\n";
    // => (4,2)
    return 0;
}

一个FLAG #18# 再谈结构体

标签:代码   flag   his   java   new   int   iostream   str   names   

原文地址:https://www.cnblogs.com/xkxf/p/12704127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!