2013-10-10 5 views
-2

Можно ли использовать функции с тем же именем, которые работают по-разному в разных классах? Polynomial и Rational дискретные классы (не наследуется):Использование функций с одинаковым именем в разных классах

class Polynomial{ 
public: 
    double evaluateAt(double x); 
}; 

class Rational{ 
public: 
    double evaluateAt(double x); 
}; 
+1

Попробуйте компилировать код. Эксперимент! :-) –

+0

Вы можете, но не должны. Если методы делают разные вещи, дайте им разные имена или вы просто закончите путаницу по линии. –

+0

Различные области применения, так что да, конечно. –

ответ

1

Да, потому что методы находятся в пределах их классов.

+0

Это пространство или область видимости? – smac89

+0

@ Smac89: Да, извините, что вы правы. Я исправил свой ответ – GWW

0

Да. Просто попробуйте в IDE.

На самом деле, в глазах компилятора они не то же самое. Вы можете рассматривать имя класса как префикс имени, например Polynimial_evaluate (...) и Rational_evaluate (...). Обратите внимание, что это всего лишь способ взглянуть на коды, реальные детали не такие, но знакомые.

Смежные вопросы