Re: конструкторы и преобразования
От: Владимир Сторожевых Россия  
Дата: 25.07.02 07:09
Оценка: 5 (1)
Здравствуйте Gosha, Вы писали:

G>Вот, хотел сделать что-то типа вот этого:

G>
G>class ANOTHER
G>{
G>public:
G>    ANOTHER(){}
G>    virtual ~ANOTHER(){}
G>    void SetSome(SOME some){m_Some=some;}
G>private:
G>    SOME m_Some;
G>};

G>int main(int argc, char* argv[])
G>{
G>    ANOTHER an1;
G>    //если так...
G>    an1.SetSome("hello!");
G>    //то компилятор ругается:
G>    //error C2664: 'SetSome' : cannot convert parameter 1 from 'char [7]' to 'class SOME'

G>    return 0;
G>


G>Вообщем-то, оно не напрягает, но вроде как первый (нерабочий) вариант удобнее, и на этапе отладки, да и потом тоже, из виндовых функций сразу char* забирать... Или придется еще один конструктор для SOME писать? Или можно как-то по другому выкрутится?


Почему бы не использовать анонимный экземпляр класса SOME ? Cинтаксис получается
достаточно понятным:
    an1.SetSome(SOME("hello!"));
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.