Здравствуйте Holms, Вы писали:
H>Вчера пришлось переводить некий Делфи проект на С++Builder. Все шло хорошо пока не
H>наткнулся на новою фичу Дельфи Class method definition
H>Здесь нашел маленькое описание
H>по этому поводу. Особенно огорчился прочитав эту строку
H>H>I'd like to discuss one of the unique language features of Delphi's Object Pascal, one that even C++ doesn't have
H>
H>Неужели в C++ нельзя реализовать такую фичу?
или хотябы как-то имитировать?
H>Если есть какие-то идеи пишите будет интересно ухнать мнение народа.
Class method definition — это один в один статический метод класса.
Обьявляется вот так:
//в .h файле
class TheClass {
static int m_nNumberOfInstances;
public:
static int getNumberOfInstances();
};
//в .cpp файле
int TheClass::m_nNumberOfInstances = 0;
/* static - это просто комментарий чтобы знать что метод статический */
int TheClass::getNumberOfInstances()
{
return m_nNumberOfInstances;
}
//использование
int xxx = TheClass::getNumberOfInstances();
Что же касается виртуальных конструкторов, то данная проблема довольно легко решается при помощи функций — "фабрик классов". Про них можешь почитать в книге Мейерса, "Наиболее эффективный C++"