# include & ltiostream & gt
# include & ltcstring & gt
使用?命名空間?std
班級?線
{
朋友?牡蠣&;?操作員& lt& lt(ostream & amp?輸出,?字符串?& ampa);?
朋友?int?main();
私人:
int?尺寸;
夏爾?* str?
公共:
字符串(char?*?a);
};
String::String(char?*?答
{
str?=?a;
尺寸?=?strlen(a);
}
牡蠣&;?操作員& lt& lt(ostream & amp?輸出,?字符串?& amp答
{
int?我;
int?n = a . size;
for(I = 0;我& ltn;i++){
輸出& lt& lta . str[I];
}
回歸?輸出;?
}
int?主()
{
夏爾?*a?=?“餵?世界!”;
cout?& lt& lt?答?& lt& lt?endl
字符串?s?=?字符串(a);
cout?& lt& lt?s;
CIN . get();
回歸?0;
}第二題:
# include & ltiostream & gt
使用?命名空間?std
班級?要點
{
朋友?點?運算符+(常量?點& amp?壹、?const?點& amp?b);
朋友?牡蠣&;?操作員& lt& lt(ostream & amp?輸出,?點& amp?a);?
朋友?int?main();
私人:
雙倍?x;
雙倍?y;
公共:
點()
{
x = 0;
y = 0;
}
點(雙?xx,?雙倍?yy){
x = xx
y = yy
}
};
點?運算符+(常量?點& amp?壹、?const?點& amp?b)
{
點?c;
c.x=?a . x+b . x;
c.y=?a . x+b . y;
回歸?c;
}
牡蠣&;?操作員& lt& lt(ostream & amp?輸出,?點& amp?答
{
輸出?& lt& lt?a.x?& lt& lt?"?"?& lt& lt?a.y
回歸?輸出;
}
int?主()
{
點?答?=?point();
cout?& lt& lt?答?& lt& lt?endl
點?b?=?點(-1,-1);
cout?& lt& lt?b?& lt& lt?endl
點?c?=?a+b;
cout?& lt& lt?c?& lt& lt?endl
CIN . get();
回歸?0;
}