Skip to content

类和对象

Class and Object

类和对象是比较基本的语法特性。我们通过例子来学习,讲解一段用到类和对象的C++代码。

在这之前,请确保你可以编译运行C++代码。

如果你哪里没看懂,可以查书,或者查搜索引擎,然后可以找人问。

#include<cstdio>

class Point{
    int x,y;
public:
    void set_xy(int a, int b){
        x = a;
        y = b;
    }
    void print_xy(){
        printf("%d %d\n",x,y);
    }
};

int main(){
    Point p1,p2;
    p1.set_xy(1,2);
    p2.set_xy(3,4);
    p1.print_xy();
    p2.print_xy();
}

这段代码中,定义了Point类, 在主函数里定义了p1, p2两个Point类型的对象, 或者也可以叫做两个Point对象, 或者简称为两个Point.

Point类拥有两个int类型的成员变量x, y

Point类拥有两个成员函数(也叫"方法") set_xy()print_xy(), 可以分别用来设置Point里面x, y的数值和打印x, y的数值。

练习1: 尝试在main函数加入一句printf("%d",p1.x), 并尝试理解一下编译错误信息。

练习2:尝试通过sizeof获取一个Point对象占据的空间大小。

练习3:为Point对象定义一个新的成员函数,返回x+y的值。然后在主函数里调用这个成员函数。

练习4:尝试定义一个新的类Segment,它拥有两个Point类型的成员变量,代表一条线段。定义成员函数以修改Segment的成员变量。