| Цитата(Nerfair @ 2.6.2012, 22:45) | | Цитата | достаточно одного метода Store
|
Не понял что Вы имеете ввиду.
|
Использование параметра по умолчанию.
Попробуйте вместо двух методов Store оставить один - с тремя параметрами, но В ОБЪЯВЛЕНИИ указать не просто int c в качестве последнего параметра, а int c = 0. Для компилятора это означает, что если вы передаете только два параметра, то третий будет добавлен автоматически. А так как у вас методы совершенно идентичные, и метод с двумя параметрами - это тот же метод с тремя, только третий - нулевой, то нет смысла их размножать.
В самом худшем варианте можно оставить оба, но реализовать тот, что с двумя параметрами, через тот, что с тремя:
| Код | void Store (char *a, char *b) { Store(a,b,0); }
|
По крайней мере в случае внесения изменений в логику это изменение придется вносить в одном месте, а не в нескольких
| Цитата(Nerfair @ 2.6.2012, 22:45) | Большие спасибо, я еще не знаком с "friend" классами, но код посмотрел, для себя вынес и усёк некоторые моменты.
|
Тут мне хочется сказать прямо - я не понимаю, зачем в данном случае делать класс OldBook другом в частности, и зачем делать класс, наследуемый с public, другом в общем случае. У меня в этом случае сложилось ощущение какой-то не понятой мною шутки...
|