无参构造函数和有参构造函数在创建对象时初始化的使用

    技术2022-07-10  80

    类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。 默认的构造函数没有任何参数,但如果需要,构造函数也可以带有参数。这样在创建对象时就会给对象赋初始值。

    //例程:无参构造函数和有参构造函数在创建对象时初始化的使用 #include <iostream> #include <cstdio> #include <cmath> using namespace std; class Point{ public: Point(){ printf("无参构造函数\n"); } Point(int x, int y):x(x),y(y){ printf("有参构造函数初始化\n"); }; void show(){ printf("Point[x=%d, y=%d]\n", x, y); } void setX(int x){ this->x = x; } int getX(){ return x; } void setY(int y){ this->y = y; } int getY(){ return y; } private: int x, y; }; class Line{ public: Line(Point& p1, Point& p2):p1(p1),p2(p2){}; float dist(){ return sqrt( (p1.getX()-p2.getX() ) * ( p1.getX()-p2.getX() ) + ( p1.getY()-p2.getY() ) * ( p1.getY()-p2.getY() ) ); } private: Point p1, p2; }; int main(){ Point p1; p1.setX(6); p1.setY(8); //无参构造函数初始化 p1.show(); Point p2(3, 4); //有参构造函数初始化 p2.show(); Line line(p1, p2); printf("dist=%f\n", line.dist()); }

    运行结果(Eclipse):

    Processed: 0.017, SQL: 9