使用自定义对象作为结构函数的默认参数,会造成内存泄露吗

使用自定义对象作为构造函数的默认参数,会造成内存泄露吗?
class Size
{
    int _height;
    int _width;
public:
    Size(int height=10, int width=10):_height(height),_width(width){}
    int getHeight()
    {
        return _height;
    }
    int getWidth()
    {
        return _width;
    }
};
class Coordinate{
    int _x;
    int _y;
public:
    Coordinate(int x=0, int y=0):_x(x),_y(y){}
    int getX()
    {
        return _x;
    }
    int getY()
    {
        return _y;
    }
};
class Windows{
    string _title;
    Size _size;
    Coordinate _coordinate;
public:
    Windows(const string tiltle ="defaultWindows",
            const Size* size = new Size(10,10) ,
            const Coordinate* coordinate = new Coordinate(10,20))
    :_title(tiltle),_size(*size),_coordinate(*coordinate){}
    
    void setTiltle(const string& title);
    string getTitle();
    void setSize(const Size& size);
    Size& getSize();
    void setCoordinate(const Coordinate& coordinate);
    Coordinate& getCoordinate();
    void show();
};


以上windows构造函数中使用了自定义对象作为默认参数,请问这个new 的默认参数需要手动delete释放吗?如果要、在哪做释放?以上类在使用过程中会造成内存泄露吗? 初学C++,求大神指教。
------解决思路----------------------
如果用默认参数会造成泄露,如果在构造函数里释放那就意味着实参必须也是new出来的,否则就会出错,这种代码写出来就是雷区。。。
------解决思路----------------------
肯定会有内存泄露呀, 这是最基本的呀
隐式销毁一个内置指针类型的成员不会delete它所指向的对象. 
只要你在类里面使用了内置指针来new对象, 那么你就需要写析构函数, 并且要delete了
------解决思路----------------------
为何不把windows的构造函数改为
Windows(const string tiltle ="defaultWindows",
            const Size& size = Size(10,10) ,
            const Coordinate& coordinate = Coordinate(10,20))

------解决思路----------------------
1.new和delete一定配对使用,无论是“同居”还是“异居”,都要配对。不配对,就是泄露
2.new出的对象传参数进去的,可以在函数内部使用完销毁,也可以函数返回到主调函数中销毁
比如这样

fun(new obj)/./fun内部delete

obj *tmp = new obj;
fun(tmp);//可以fun内部delete,否则,下面方式销毁
delete tmp;//fun外销毁