__declspec(property( в MS VS 2008 TS

Тема в разделе "LANGS.C", создана пользователем EvilsInterrupt, 28 дек 2008.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Вопрос
    есть код:
    Код (Text):
    1. class CDosHeader
    2. {
    3. public:
    4.   __declspec(property(get=get_e_magic,    put=set_e_magic))   WORD e_magic;
    5. private:
    6.   WORD  get_e_magic();
    7.   void  set_e_magic   (WORD Val);
    так круто и все компилится, все работает!!!

    Но есть еще приватные методы:
    Код (Text):
    1.   WORD  get_e_res(DWORD i);
    2.   void  set_e_res     (DWORD i,WORD Val);
    как их в виде свойств в классе задать так т.е чтобы юзая класс я мог :

    DOS.e_res = val;

    или:

    DOS.e_res(i, Val);

    ???
     
  2. Djinn

    Djinn New Member

    Публикаций:
    0
    Регистрация:
    26 мар 2007
    Сообщения:
    22
    Приватные методы где ? не в этом классе ? можешь сделать так:
    Код (Text):
    1. class CDosHeader
    2. {
    3. public DOS * dos = new DOS;
    тогда ты будешь в классе и с внешки юзать его как DOS:

    Код (Text):
    1. CDosHeader * dd = new CDosHeader;
    2. dd->dos->e_res[i] = val;
    или в самом классе в методах:
    Код (Text):
    1. this->e_res[i] = val;
    или наследованием:
    Код (Text):
    1. class CDosHeader : public DOS
    2. {
    3. }
    тогда ты будешь видеть все методы класса DOS в классе CDosHeader как подные
    http://ru.wikipedia.org/wiki/http://ru.wikipedia.org/wiki/Наследование_(программирование)