2014-04-05 27 views
4

我有A類和B類聲明兩次相同的非成員函數?

我定義用A和B非成員方法

double operator*(const A& a, const B& b); 

是好到在同一時間宣佈進入阿和bh這一點,因爲它可以被認爲屬於A和B?

+4

您可以根據需要進行儘可能多的聲明。所以是的。但是,除非標記爲「inline」,否則不要在標題中定義它。 – jrok

+2

我認爲最好在common.h中聲明,並將其包含在展位Ah和Bh中 – Renjith

+1

不應該是'double operator *(const B & b);'在類'A'或'double operator *(const A & a);'在'B'類中? – herohuyongtao

回答

1

將它同時聲明爲A.h和B.h是否好,因爲它可以被認爲屬於A和B?

可以聲明它,因爲它只是聲明而不是定義。除此之外,這樣做可能只是個人品味,或者將它放在共同的標題中,等等。