#include <iostream.h>
#include <string.h>
class CBook
{
char* ptitle;
int price;
public:
CBook(const CBook&);
CBook(const char* , int);
~CBook(){delete[] ptitle;}
const char* get_title(){return ptitle;}
CBook& operator=(const CBook&);
};
CBook& CBook::operator=(const CBook& rhs)
{
if(&rhs != this){
delete[]ptitle;
ptitle = new char[strlen(rhs.ptitle) + 1];
strcpy(ptitle, rhs.ptitle);
}
return *this;
}
CBook::CBook(const char* ptitle_, int price_)
: price(price_)
{
ptitle = new char[strlen(ptitle_) + 1];
strcpy(ptitle, ptitle_);
}
CBook::CBook(const CBook& book)
:price(book.price)
{
ptitle = new char[strlen(book.ptitle) + 1];
strcpy(ptitle, book.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;
}