デフォルトの代入演算子を使用時の問題

#include <iostream.h>
#include <string.h>

class CBook
{
	char* ptitle;
	int price;
public:
	CBook(const char* , int);
	~CBook(){delete[] ptitle;}
	const char* get_title(){return ptitle;}
};

CBook::CBook(const char* ptitle_, int price_)
: price(price_)
{
	ptitle = new char[strlen(ptitle_) + 1];
	strcpy(ptitle, ptitle_);
}

int main()
{
	CBook book1("Sleeping Beauty", 980);
	CBook book2("Jungle Book", 780);
	
	cout << "book1の書名:";
	cout << book1.get_title() << '\n';
	
	cout << "book1にbook2の内容をコピーします\n";
	book1 = book2;
	
	cout << "book1の書名:";
	cout << book1.get_title() << '\n';
	return 0;
}
実行結果
book1の書名:Sleeping Beauty
book1にbook2の内容をコピーします
book1の書名:Jungle Book