Вопрос № 101002: Здравствуйте, глубокоуважаемые эксперты!
Обращаюсь к вам со следующей проблеммой. Есть код:
class Base
{
public:
Base(){...}
virtual ~Base(){...};
};
class Derived : public Base
{
public:
Derived(){...}<...Вопрос № 101074: Здравствуйте, глубокоуважаемые эксперты!
Не успел я разобраться с предыдущим моим вопросом, как возник новый.
Теперь уже при разборе книжки Скотта Мейерса "Наиболее эффективное использование С++" возникла следующяя непонятность...Вопрос № 101103: Добрый день, господа эксперты, есть проблемка, которую ни как не могу решить сам. Подскажите как правильно составить код, чтобы таблица из моей базы данных открывалась в Excelе. Сам я попробовал поэкспериментировать, но при всех моих попытках в Excel...
Вопрос № 101.002
Здравствуйте, глубокоуважаемые эксперты!
Обращаюсь к вам со следующей проблеммой. Есть код:
class Base
{
public:
Base(){...}
virtual ~Base(){...};
};
class Derived : public Base
{
public:
Derived(){...}
~Derived(){...}
};
............
int main(int argc, char* argv[])
{
Base *bp,b_ob;
Derived *dp,d_ob;
bp=&d_ob;
dp=dynamic_cast<Derived *>(bp);
................
}
Взял его из книжки Г.Шилдта "Полный справочник по С++. Четвёртое издание". Захотел откомпилировать посредством Visual Studio 2003. При этом на этапе выполнения выдаётся следующее сообщение:
"This application has requested the Rumtime to terminate it in an unusual way. Please contact the application's support team for more information."
Что здесь происходит и как мне выйти из сложившегося положения?
Заранее, огромное спасибо.
Отправлен: 06.09.2007, 00:29
Вопрос задал: VSP (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Терсков Сергей
Здравствуйте, VSP!
Скомпилировал ваш код под MS VS 2005, и никаких проблем он не вызвал, так что проблема именно в самой студии или настройках проекта. Поиск в Google выдал следущую ссылку
Хотя там речь идет о Microsoft Visual C++ 6.0, думаю что ситуация подобная...
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 06.09.2007, 02:24 Оценка за ответ: 5 Комментарий оценки: Большое спасибо за столь краткий и в то же время детальный ответ
Вопрос № 101.074
Здравствуйте, глубокоуважаемые эксперты!
Не успел я разобраться с предыдущим моим вопросом, как возник новый.
Теперь уже при разборе книжки Скотта Мейерса "Наиболее эффективное использование С++" возникла следующяя непонятность. В его "Правиле 5. Опасайтесь определяемых пользователем функций преобразования типов" были приведены следующие две конструкции:
------------------------------------------------------------------------------------------------
______(1)______
class Rational{
public:
............
operator double() const;
};
.............
Rational r(1/2);
double d=0.5*r;
//либо:
Rational r(1/2);
cout<<r;
Оба эти случая должны были (по Мейерсу) в результате давать вещественное значение. Однако на своей Visual Studio 2003 я получаю следующую ошибки:
а)Для первого случая:
(а).1:
"c:documents and settingsuserмои документыvisual studio
projects ranslatorre ranslatorre.cpp(88): error C2664:
'Derived::Derived(const Derived &)' : cannot convert parameter 1
from 'int' to 'const Derived &' "
(эта ошибка вроде бы справедлива, т.к. при инициализации объекта, вызывающего конструктор с параметрами, при том, что такого нет, вызывается конструктор копирования, необходимый тип параметра которого не совпадает с параметром в вызове "Rational r(1/2);" )
(а).2:
Если я добавляю конструктор в double-параметром, по выдаётся следующее сообщение:
"TranslatorRE error LNK2019: unresolved external symbol "public:
__thiscall Derived::operator double(void)const
" (??BDerived@@QBENXZ) referenced in function _main"
б)Для второго случая:
(б).1: аналогичное сообщению в (а).1;
(б).2:
"TranslatorRE error LNK2019: unresolved external symbol
"public: double __thiscall Derived::asDuuble(void)const"
(?asDuuble@Derived@@QBENXZ) referenced in function _main"
По сему у меня вопрос: может эти примеры Мейерса справедливы при каких-то дополнительный условиях или я где-то, в чём-то ошибся? Что необходимо сделать, чтобы всё заработало?
Извиняюсь на столь длинный экскурс в суть моей проблеммы.
И так же, заранее огромное спасибо!
Отправлен: 06.09.2007, 13:45
Вопрос задал: VSP (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Aristos
Здравствуйте, VSP!
Эти примеры являются, в некотором роде, псевдокодом. В них показано только значимые (для рассмастриваемого вопроса) детали классов, и предполагается, что для читателя не составит труда дополнить классы корректным внутренним содержанием и реализазовать необходимые функции (например конструкторы, деструктор, опрераторы присваивания и сравнения).
В приложении рабочее приложение иллюстрирующее пример из книги.
Приложение:
Ответ отправил: Aristos (статус: 5-ый класс)
Ответ отправлен: 06.09.2007, 14:20 Оценка за ответ: 5 Комментарий оценки: Спасибо огромное! Теперь всё понятно.
Вопрос № 101.103
Добрый день, господа эксперты, есть проблемка, которую ни как не могу решить сам. Подскажите как правильно составить код, чтобы таблица из моей базы данных открывалась в Excelе. Сам я попробовал поэкспериментировать, но при всех моих попытках в Excel подгружается не
вся таблица, а лишь та ячейка на которой стоит курсор.
Заранее спасибо.
Отправлен: 06.09.2007, 20:00
Вопрос задал: Boio (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)