Цитата(Waso @ Nov 26 2009, 10:19)

Одна виртуальная функция добавляет 50байт кода для каждой кнопки или светика.
Это не виртуальная функция добавляет, а шаблонный класс. Для такого применения шаблоны не годятся.
Цитата
Вот я и думаю как бы поизящнее решить эту проблему, чтобы поменьше писанины и пооптимальнее код.
От виртуальных функций можно избавиться, избавившись от шаблонов и заплатив парой байт ОЗУ на каждую кнопку и светик - помнить номер строки и столбца не как параметр шаблона, а как константу.
Именно так. Пара констант (не обязательно в ОЗУ, кстати) займут много меньше кода, чем 3 функции.
Цитата
Интересно как решали такую проблему другие. =)
Можно вообще отказаться от констант, если передавать их в качестве параметра (или глобала) в цикле в main. Такое решение позволит съэкономить память, но идет вразрез с ООП.
(Собственно при таком подходе это будет обычная, не ООП программа)