LINUX.ORG.RU

нам надо узнать что-то. ты вызываешь метод, и он возвращает тебе ответ.
вот затем.

Deleted
()

что за привычка заставлять искать исходники про которые говоришь? https://github.com/mumble-voip/mumble/blob/master/src/mumble/AudioOutput.cpp, они обычно нужны для ответа на вопрос. функция объявлена виртуальной, вероятно дальше при наследовании будет изменена.

anonymous
()

внимательно смотрим на класс WASAPIOutputRegistrar

class WASAPIOutputRegistrar : public AudioOutputRegistrar {
...
                virtual bool canExclusive() const;
}
и финал драмы:
bool WASAPIOutputRegistrar::canExclusive() const {
        return true;
}

anonymous
()

Как написали ниже.
И так нормально делать, так как сегодня не можем, а завтра можем.

anonymous
()

Это переопределение абстрактного метода.

anonymous
()

Вроде так обычно делают PM, те кто накидают названия функций, раздадут задач программистам. В итоге получается прототип годный для прогонки/проверки задумки с массой функций-заглушек. Со временем функция наполняется смыслом. Не думай, что такой пишет идиот, наоборот, такой код пишут профи :)

gh0stwizard
()
Ответ на: комментарий от gh0stwizard

А для чего на каждый звуковой пакет инициализируются звуковые кодеки и так несколько раз в секунду?

rezedent12
() автор топика
Ответ на: комментарий от rezedent12

а почему солнце встает каждый день и причем в каждой точке земли в свое время? можно конкретней писать?

anonymous
()
float tlen = sqrtf(top[0]*top[0]+top[1]*top[1]+top[2]*top[2]);

Безысходность, однако.

Gorthauer
()

Я правильно понял что эта функция является обёрткой константы false ? (В c++ не разбираюсь)

Виртуальная функция полиморфно используется вызывающим кодом чтобы узнать, может ли объект конкретного класса быть exclusive в контексте предметной области. Если совсем «по-деревенски», то считай, что в данном примере виртуальная функция canExclusive - это название некоторой опции, а возвращаемое значение - это значение этой опции для конкретного типа. Каждый «тип» возвращает свое значение, таким образом можно настраивать поведение для различных типов.

m0rph
()

Да банальная заглушка. Метод которые еще не реализован но планируется и уже где-то используется.

Suntechnic
()
Ответ на: комментарий от rezedent12

Тогда почему это не простое свойство?

В C++ нету свойств. Есть переменные-члены, только их обычно делают закрытыми (инкапсуляция) по разным причинам.

m0rph
()

Я так пишу даже не для виртуальных методов, когда предполагается расширение логики этого метода в будущем

nerdogeek
()
Ответ на: комментарий от rezedent12

Потому что в других членах иерархии там могут быть сложные вычисления для получения ответа.

vurdalak
()
Ответ на: комментарий от qulinxao

сам факт поля и есть инкапсуляция(включение)

Инкапсуляция в ООП применяется обычно с целью сокрытия (данных и/или реализации), так что даже если мое сообщение выше не совсем корректно, сути это особо не меняет.

m0rph
()
Ответ на: комментарий от m0rph

инкапсуляция это агрегация данных(полей)/«вычислимых полей(методов)» в одну сущность структура(запись)/объект , листани АТД , сокрытие же - для снижения цикломатической сложности

qulinxao
()
Ответ на: комментарий от qulinxao

уточнение: «цикломатическая» связность по данным.

qulinxao
()
Ответ на: комментарий от m0rph

«Любую проблему можно решить путём введения дополнительного уровня абстракции, кроме проблемы слишком большого количества уровней абстракции»

ООП не религия :)

qulinxao
()

функцию
bool AudioOutputRegistrar::canExclusive() const

facepalm.ogv

wota
()
Ответ на: комментарий от Suntechnic

Вообще-то, не обязательно заглушка. Подобная запись может означать, что для данного класса оно действительно всегда false, а для других классов из той же иерархии возможны варианты. Сам так нередко делаю.

Конкретно иерархию классов из Mumble я не смотрел, но в одном из первых ответов анонимус показал, как это работает.

hobbit ☕☕☕☕☕
()
Ответ на: комментарий от rezedent12

Тогда почему это не простое свойство?

Потому, что если запись будет выглядеть так :

AudioOutputRegistrar.canExclusive = False

Программисту нечего будет есть. Чем безумнее и запутаннее выглядит код для менеджера, тем проще обосновывать свою зарплату. Это объясняет существование таких недоразумений, как С++

anonymoos
()
Ответ на: комментарий от anonymoos

Программисту нечего будет есть. Чем безумнее и запутаннее выглядит код для менеджера, тем проще обосновывать свою зарплату. Это объясняет существование таких недоразумений, как С++

Но mumble же open sourse...

rezedent12
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.