Форум программистов, компьютерный форум CyberForum.ru

Вопрос по классам - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
21.10.2010, 19:52     Вопрос по классам #1
Опишу определение базавого класса и производного
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Date
{
  private:
           ...
  public:
           Date( ){};
           virtual ~Date(){};
           
           virtual Date& GetDate();  
           Date& dateadd(int, Date&);  
};
 
class DateTime : public Date
{
  private:
           ...
  public:
           DateTime(){};// 
           virtual ~DateTime(){};
           
           virtual DateTime& GetDate();
}; 
 
Date d;
DateTime dt;
хочу для производного класса вызвать метод из класса Date, но класс Date ожидает второй параметр
Date&, но я хочу передать именно DateTime

C++
1
dt.dateadd(5,dt);
, что мне поможет RTTI (dynamic_cast), если да то как это использовать?
Всем спассибо за ответы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 19:52     Вопрос по классам
Посмотрите здесь:

C++ вопрос по классам
C++ Вопрос по классам
книга по классам C++
учебник по классам C++
C++ Вопрос по классам и функциям
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.10.2010, 17:54     Вопрос по классам #21
obuhanoe, Не уверен. Но так делать точно не стоит. Подключайте всегда только .h файлы. Библиотечные тоже считаются h хоть и пишутся без.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
26.10.2010, 17:58  [ТС]     Вопрос по классам #22
ладно с подключением я потом разберусь...я не могу понять почему...что я не учел...жду еще ответов...
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
26.10.2010, 22:06     Вопрос по классам #23
хотел уточнить проблема в подключении cpp файла или вы мне говорите что так лучше не делать и это не потеме вопроса?
Потому, что *.cpp файлы компилируются отдельно. Если его инклуднуть в другой .cpp файл, то часть кода скомпилируется два раза - будет неоднозначность при линковке.

Второе. Если в файле вы используете какие-то классы, функции и т.п., делайте т.н. forward declarations (если это возможно) или подключайте используемые хедер файлы.
В данном случае, добавьте
C++
1
2
#include <string>
#include <iostream>
в файл 1.cpp
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
27.10.2010, 08:53  [ТС]     Вопрос по классам #24
я сделал как вы посоветовали и реализацию также пихнул в header, но все равно как данные неправильно выводились так и выводятся, кто по теме подскажет, что нужно добавить в класс чтобы заработал вызов
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
27.10.2010, 09:51     Вопрос по классам #25
А в чём ошибка ? Выводит нули ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2010, 10:14     Вопрос по классам
Еще ссылки по теме:

Вопрос по Классам... C++
C++ Вопрос по классам
C++ У меня вопрос по классам. На приложенных картинках я выделил непонятные строки.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
27.10.2010, 10:14  [ТС]     Вопрос по классам #26
в файле реализации нужно было вот так сделать и все заработало
C++
1
2
3
4
5
//Производный класс от Date
DateTime::DateTime(int dd, Month mm, int yy):
          Date(dd,mm,yy), dt_hour(0), dt_min(0), dt_sec(0)
{
}
Yandex
Объявления
27.10.2010, 10:14     Вопрос по классам
Ответ Создать тему
Опции темы

Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru