1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 无参构造函数和有参构造函数在创建对象时初始化的使用

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

时间:2024-04-16 06:45:50

相关推荐

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

类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。

构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 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):

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。