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 ☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.