Pull to refresh
3
0
Send message
Нет, у Алисы и Боба по 2 ключа. На своем первом шаге Алиса применяет первый ключ, а затем — второй.
К асимметричным алгоритмам (криптосистемам) относятся не только шифры, но и, например, цифровые подписи и протоколы идентификации, поэтому здесь это не важно.
Действительно. Спасибо за замечание, я не придавал внимания этой классификации.
Ну, это же не проблема. Давайте весь код (кроме main) завернем в какой-нибудь класс и будет то, о чем Вы говорите. Смысл-то абсолютно тот же, что в полиморфизме.
Идея полиморфизма же заключается не в том, чтобы тип чем-то управлял, а в том, что одна и та же строка кода работала по-разному в зависимости от того, что туда «подложат». Перегрузка операторов — это тоже вид полиморфизма.
Конечно, это и есть паттерн «стратегия» (в «не-ООП» варианте), который и основан на полиморфном вызове функции (метода).
Мне кажется, что из текста достаточно ясно, что цель статьи — это не сделать дубликат std::sort, а проиллюстрировать концепцию. То же самое можно было бы продемонстрировать на многих других алгоритмах.
В контексте функции sortCities(CompareFunction compare) так и делается. Передается параметр и переключается на нужную реализацию. А ручной выбор в main() — это уже следующий слой.

Information

Rating
Does not participate
Registered
Activity