如果我有兩個功能A和B,A將在我們使用A時打印消息.B將使用A,但是當我使用B時,我不想打印任何東西。我怎樣才能做到這一點?在C++中如何避免使用具有cout的函數時打印消息?
double CTriangle::perimeter() const{
double D = Distance(A, B) + Distance(A, C) + Distance(B, C);
cout << "Perimeter of this triangle is: " << D << endl;
return D;
}
double CTriangle::area() const{
double p = this->perimeter()/2;
double Area = sqrt(p * (p - Distance(A, B)) * (p - Distance(A, C)) * (p - Distance(B, C)));
cout << "Area of this triangle is: " << Area << endl;
return Area;
}
呃,在'A'裏面添加'if'?這裏有些微妙的東西嗎? – Potatoswatter
我認爲我們需要看到一些更具體的代碼來回答這個問題。顯而易見的事情是將除了cout之外的所有代碼移動到一個單獨的方法'A1',並從A中調用(在調用之前/之後打印A中的行)和B(不打印) –
這是我'已經看到了宏的合法使用,例如'#define VERBOSE_STATEMENTS'或'#define DEBUG_PRINTING'。 – Rapptz