Nicky23, я и говорю про другой способ - тот, который применяется в паттернах. Если некий код уникален для какого-то наследника базового класса, то место этого кода - внутри самого класса.
А внешнее определение, какой это класс, и код, работающий только с ним, во внешнем коде - это bad practice. Проще говоря, говнокод.
Nicky23, я понимаю, что вам дорога самостоятельно придуманная архитектура, но очень рекомендую присмотреться к ее адекватности. В некоторых языках в принципе не предусмотрено множественное наследование - для него должны быть очень веские причины, и не факт, что они у вас на самом деле есть. Если Color дает какой-то довольно базовый функционал - может быть, просто унаследовать от него Figure?
Боюсь, что нет. Вы только начали разбираться.
Суть в том, что ваш производный класс Ball является Figure, так что вы вполне можете писать и figure_list.push_back(new Ball());
но правильное использование такого списка не предполагает определения, к какому производному классу принадлежит каждый его элемент. К ним нужно обращаться только и именно как к Figure. При этом класс Figure должен иметь достаточно богатый интерфейс, чтобы скрыть под ним все различия классов-наследников. Например, он может иметь метод getRect, возвращающий габариты фигуры (описанный по-своему в круге и точке), метод draw(DrawContext *dc, int x, int y), в котором фигура будет отрисовывать себя сама в нужной точке и т.п.
101-s, в комментариях выяснилось, что в таблице - не состояние счета, а транзакции. Так что не *, а user_id, SUM(value) as total, скажем. И в WHERE должно быть value, money - это имя таблицы.
Вы неправильно начали. Начните с понимания того, что код, в котором есть список figure_list, не знает и не должен знать, какой фигурой является каждый элемент списка. Его зона ответственности - хранить все эти объекты и перебирать их в цикле. Дальше, если должна быть какая-то разница - она должна проявляться внутри самих классов и не торчать наружу.
я не собираюсь говорить имя, и не хочу говорить фамилию, макрос работает просто как замена в коде указанного имени указанной конструкцией.
Вы же хотите от компилятора, чтобы он делал вложенные замены. Так не бывает.
Имхо, единственная функция, которую все эти макросы выполняют в приведенном коде, состоит в том, что они запутывают автора, создавая иллюзию того, что код работает так, как он задумал.
ramanovsky, у второго варианта есть инвариант: на этом компьютере таки поднять винду (возможно, дуалбутом), а под линь взять второй поплоше, вам вряд ли в нем требуется что-то тяжелое для ковыряния скриптов. Монитор можно один через KVM.
Есть еще четвертый вариант, на самом деле - Десяточка с ее Линукс-прослойкой. Но сам не пробовал, не собираюсь и поэтому советовать не буду.
Это можно использовать только после include 'bitrix/header'
$_SERVER будет заполнен и до. Например, позволяя выбрать, подключать ли header или prolog_before.
Ex1st, если в файле лежит исключительно html - обычно нет особенных причин называть его .php
А для вывода попапов вообще желательно иметь библиотеку, позволяющую вызывать их одной командой, а не городить на каждый такой случай пол-страницы кода, который к следующему случаю будет забыт и написан по-другому.
Антон Р., в том пых-файле может лежать исключительно JS-код. Просто подключаться он будет не к каждой странице, а только к нужной. Не скажу, что это какая-то best practice, но то, как предположительно будет понято "лучше через JS" - скорее всего, совсем не лучше ;)
Если не загружается даже GRUB, дело может быть в SecureBoot, например. Или у вас "второй комп" вообще с UEFI загружаться не умеет. Гадать можно долго, характеристики машин здорово помогают найти верный ответ в таких случаях.
Язык самого сайта не указан. Если это Пых, то гарантированное дрочево с iconv туда-сюда.
Рассмотрите вариант перевода сайта на cp1251, тогда конвертирования будет меньше.