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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
#1

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

21.10.2010, 19:52. Просмотров 1113. Ответов 25
Метки нет (Все метки)

Опишу определение базавого класса и производного
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), если да то как это использовать?
Всем спассибо за ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 19:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по классам (C++):

Вопрос по классам - C++
Есть такой код #include <iostream> class C1{ public: C1(){std::cout <<" 1 is open"<<std::endl;}; ~C1(){std::cout <<" 1...

Вопрос по классам - C++
Вообщем есть два класса, TTriangular и TPoint. В TTriangular есть метод, который должен вводить координаты заданной точки. В TPoint...

Вопрос по классам - C++
создал конструктор, который создаёт элемент класса - массив, а вот инициализация данного массива с помощью нового конструктора не...

Вопрос по Классам... - C++
#include <iostream> using std::cout; using std::endl; class GradeBook { public: void displayMessage()

Вопрос по классам и функциям - C++
Здравствуйте, вообщем мне надо реализовать примерно такое дело: имеется класс the_class нужно чтобы у каждого экземпляра была...

У меня вопрос по классам. На приложенных картинках я выделил непонятные строки. - C++
У меня вопрос по классам. На приложенных картинках я выделил непонятные строки. Строка 9. Переменная int age объявляется в строке 9?...

25
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
26.10.2010, 17:39  [ТС] #16
*.h = Class_date.h
1.cpp = Class_Date_realiz.cpp
2.cpp = temp.cpp
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
26.10.2010, 17:40 #17
obuhanoe, НЕ подключайте .cpp файлы через #include...
0
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
26.10.2010, 17:44  [ТС] #18
а как?
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
26.10.2010, 17:46 #19
obuhanoe, А .h файл то подключить почему нет? оО
0
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
26.10.2010, 17:48  [ТС] #20
хотел уточнить проблема в подключении cpp файла или вы мне говорите что так лучше не делать и это не потеме вопроса?
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
26.10.2010, 17:54 #21
obuhanoe, Не уверен. Но так делать точно не стоит. Подключайте всегда только .h файлы. Библиотечные тоже считаются h хоть и пишутся без.
0
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
26.10.2010, 17:58  [ТС] #22
ладно с подключением я потом разберусь...я не могу понять почему...что я не учел...жду еще ответов...
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
26.10.2010, 22:06 #23
хотел уточнить проблема в подключении cpp файла или вы мне говорите что так лучше не делать и это не потеме вопроса?
Потому, что *.cpp файлы компилируются отдельно. Если его инклуднуть в другой .cpp файл, то часть кода скомпилируется два раза - будет неоднозначность при линковке.

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

Литература по классам - C++
Посоветуйте какую-то книгу где хорошо описано объявления, как работать с классами и все о классах!

Программа по классам - C++
Нужна помощь по классам, помогите с написание кода Описать класс, реализующий стек и работу с ним. 1.) Класс должен содержать следующие...

учебник по классам - C++
Люди, подскажите, пожалуйста, где можно найти хороший учебник по классам с примерами задач

лабораторная по классам - C++
Доброго вечера ув. гуру. Очень прошу вас помочь написать небольшую программу, связанной с великим ООП, а конкретнее работой с классами....


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru