#pragma once

#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>

using namespace std;
class point
{
private:
double x;
double y;
char *name;
public:

point(const char *n=NULL, double a=0.0 ,double b=0.0);
~point();
void dis();
//point(point& p);
};

point::point(const char* n, double a, double b)
{
x = a;
y = b;
if (n)
{
name = new char[strlen(n)+1];
strcpy(name, n);
}
else
{
name = new char[8];
strcpy(name, "no name");
}
cout << name << "constructing" << endl;
}
point::~point()
{
cout << name << "distructing" << endl;
delete [] name;
}
void point::dis()
{
cout << name << ":" << x << "," << y << endl;
}

int main()
{
point p1("home", 1.0, 2,0);
point p2("school", 3.0);
point p3;
// point p4 = p1;
p1.dis();
p2.dis();
p3.dis();
return 0;
}