大神.这个构造函数为什么会执行两次

求助大神.这个构造函数为什么会执行两次

#include <iostream>

using namespace std;

class mystr
{
public:

mystr()
{
cout << "mystr" << endl;
}
~mystr()
{
cout << "~mystr" << endl;
}
 void * operator new(size_t size)
{
cout << "对象被创建" << endl;
mystr *my1 = ::new mystr;
return my1;
}  

};

int main()
{
mystr *my1 = new mystr;

getchar();
return 0;
}


这个new不是被重载了吗,只是在重载里有一个全局的new, 照理说应该只执行一次啊,
------解决思路----------------------
我的理解:main里面创建一个对象,就要调用构造函数,怎么重载new都不影响main里面这个调用。试试把重载里面那个new换成malloc,还是会有一次构造函数