日志19

面向对象 : 析构函数
#include<iostream>
#include<cmath>
using namespace std;
class point
{
protected:
int X,Y;
public:
void set(int x,int y) 
{
X=x;Y=y;
}
int getX()
{
return X;
}
int getY()
{
return Y;
}
point(int x=0,int y=0):X(x),Y(y)
{
cout<<"hello point("<<X<<","<<Y<<")\n"; //结果输出两个hello 第一个是p1 第二个是p2
}
~point()  //析构函数 系统自动调用  若创建的对象带指针 必要用析构
{
cout<<"BYB point("<<X<<","<<Y<<")\n";//先出p2  再出p1     栈结构 先进后出
}
double distO()
{
return sqrt(X*X+Y*Y);
}
double dist(point &amp;p)
{
int x,y;
x=X-p.X;
y=Y-p.Y;
return sqrt(x*x+y*y);
}
void show()
{
cout<<"point("<<this->X<<","<<this->Y<<")\n";
}
};
int main()
{
point p1,p2(3,4);
p1.show();
p2.show();
p2.set(3,5);
point p3(p2);  //初始化,复制(调用构造函数 复制构造函数 没写复制构造函数 系统自己定义 函数体里有代码 ) p3的位置由p2初始化 
p3.show();
}
全部评论

相关推荐

爱吃肉的伊登在写日记:好棒,27届简历能做成这个样子,但是第一个项目感觉cover住难度还是不小的,特别是二面的时候肯定要对分布式系统设计这一块儿有高出正常面试者的水平才行
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务