значение по умолчанию — изменение подписи при переопределении в переполнении стека

У меня есть базовый класс

class Shape{
public:
virtual int getArea()=0;
}

Хочу поменять подпись пока overriding как это:

class Rectangle : class Shape{
public:
int getArea(int someParameter = 0){
return 0;
}
}

Можно ли как-то добиться этого, так как я использую значение по умолчанию для вновь добавленного параметра?

1

Решение

Единственное решение, которое я вижу, это то, что вы реализуете оба int getArea() а также int getArea(int)где одна функция может вызывать другую (например, int getArea() { return getArea(0); }). Вы не можете иметь перегрузку, принимающую аргумент, тогда есть аргумент по умолчанию.

3

Другие решения


По вопросам рекламы [email protected]