我是一種新的C++類,我需要製作一個使用指向對象的指針的複製構造函數。 我的類看起來是這樣的:複製指針對象的構造函數
class test
{
int a;
char *b;
public:
test()
{
a=0;
b="\0";
}
test(const test &p)
{
b=new char(strlen(p.b)+1);
b=p.b;
a=p.a;
cout<<"The copy constructor works";
}
void seta(int nr)
{
a=nr;
}
void setb(char *s)
{
b=s;
}
int geta()
{
return a;
}
char *getb()
{
return b;
}
};
現在我有一個指向對象
test *x;
x=new test;
我需要做的是創建另一個指向對象,* Y,將具有相同值作爲x,使用複製構造函數。如果它們是對象而不是指針,那麼這個拷貝構造函數會起作用。你能告訴我該怎麼辦嗎?謝謝!
語義pedantry:複製構造*按定義*不採取指針。你在說什麼更正確地稱爲轉換構造函數。 – 2015-03-13 18:29:43