Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2015, 20:55   #11
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

p51x. я конечно благодарен подсказке, но когда я убрал запятую, то проект вообще перестал собираться. Пишет [C++ Error] HemieMain.h(57): E2176 Too many types in declaration. Вообще выскочило в другом модуле.

Цитата:
Можете начать с авторов паскаля и делфи за их end. и end;
Делфи хоть пишет как и в каком месте я усрался если не поставлю точку или точку с запятой, а не несёт ахинею как с++, которая вообще ничего общего с синтаксисом не имеет.

п.с. нахрена создавать такие дебильные среды обработки. Почему нельзя всё просто - юнит - библиотека. ПОдклбчил юнит - подключит всё что в нём написано. Делят на какую подзал...ную х..ту по типу хидеров, не хзидеров линкеров пакеров и всякое другое говно.
п.п.с думаю что после моего перевода проекта на этот ..... его создатель и автор покроется семью карами египетскими
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 31.07.2015 в 21:11.
JUDAS вне форума Ответить с цитированием
Старый 31.07.2015, 21:06   #12
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Господа Гуру С++. Немного перефразирую вопрос.
---------
начал ковырять этот класс и заметил следующую зависимость.

Если конструктор объявлен в н файле без параметров и в СРР файле тоже без параметров, то всё отлично собирается и компилится без ошибок.
Стоит ввести хоть один параметр, с этой примочкой для СССР что-то начинает делатся. Посему вопрос перефразирую следующим образом.

Как перевести с Паскаля на С++ вот эту муть. Далее думаю, вклиню сам.

Код:
// TObject - имеет простейший конструктор
TBase = class(TObject)
   constructor Create;
end;

constructor TBase.Create;
begin
end;
а теперь нужно перевести вот это

Код:
// TObject - имеет простейший конструктор
TChildClass = class(TBase)
   // затираю старый конструктор своим
   constructor Create(handle : HWND; index : integer);
end;

constructor TChildClass.Create(handle: HWND; index: integer);
begin
  // вызываю предка
  inherited Create();
 // дописываю свою ахинею
end;
короче, как переопределить конструктор чтобы С++ не сходил с ума (или с котушек) ?
п.с желательно пояснить что должно быть в хидере и в СРР и как эта вся зябломуть должна подключаться друг к другу через include

п.п.с. ну реально , занимаюсь тупым байтодро...ством. Напоминает тусовку колод перфокарт и работу с бабинами и касетами МК60

==================
короче господа Сишники, я всё таки сломал вашу балалайку.
Проблема была вовсе не в переопределении конструктора, хотя на будущее, хотел бы получить ответ на вопрос про перезагрузку конструктора .
Всё упиралось в типе HWND
Какого-то бицепса, в хидере и в СРР этот тип воспринимался по разному посему и писало ахинею связанную с unresolved.
Запятая от p51x действительно помогла - спасибо Вам.
HWND переопределил как int в параметрах, а при присвоении в переменную внутри класса, привожу её вот так

FHandle = (HWND) Handle

Вопрос, такое приведение типов корректно для этой среды или будут казусы ?
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 31.07.2015 в 21:29.
JUDAS вне форума Ответить с цитированием
Старый 31.07.2015, 21:43   #13
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Код:
#include <iostream>

using namespace std;

class myChildClass{
public:
    myChildClass(int a = 0){
        cout << "ChieldClass constructor: " << a << endl;
    }
};

class myClass : public myChildClass{
public:
    myClass(int a=0): myChildClass(a){
        cout << "myClass constructor" << endl;
    }
};

int main(){

    myClass a;
    myClass a0(0);
    myClass a1(1);
    myClass a2(2);
    myClass a3(3);

    system("pause");

    return 0;
}
Результат работы.

Что-то вроде этого нужно было?
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).

Последний раз редактировалось Krasiosoft; 31.07.2015 в 21:45.
Krasiosoft вне форума Ответить с цитированием
Старый 31.07.2015, 21:50   #14
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Нет такого понятия как "в хидере и в СРР" - заголовочный файл вставляется в CPP файл. А вот если он воспринимается по-разному в разных СРР файлах, то надо смотреть на всякие #define и настройки проекта.
waleri вне форума Ответить с цитированием
Старый 31.07.2015, 21:59   #15
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Классы правильнее делать так:

.h
Код:
#ifndef MYCLASS_H
#define MYCLASS_H

class myClass
{
public:
    myClass();
    ~myClass();
};
#endif // MYCLASS_H
.cpp

Код:
#include "myclass.h"

myClass::myClass()
{

}

myClass::~myClass()
{

}
Чтоб использовать класс, нужно подключить только его .h
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 31.07.2015, 22:10   #16
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

То есть, тупо объявляете в потомке новый конструктор и пишете под него код.
Вопрос, при использовании объекта потомка будет выпадать (в подсказке) один или два конструктора? Нужно что-бы выпадал последний в потомстве

Цитата:
Что-то вроде этого нужно было?
да, спасибо.
К сожалению + для твоего профиля у меня исчерпаны, движок послал меня лесом =(
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 31.07.2015, 22:24   #17
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Сколько у него есть вариантов конструкторов, столько и будет. Но может я неправильно понял вопрос.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Unresolved external vladimir.kartashev C++ Builder 3 04.08.2017 20:27
Unresolved external __fastcall Silly Student C++ Builder 1 22.10.2011 21:55
Unresolved external Alex54 C++ Builder 0 15.03.2011 00:21
unresolved external symbol Эрин Общие вопросы C/C++ 3 22.03.2010 15:32
unresolved external symbol... LukS Общие вопросы C/C++ 2 16.04.2009 11:41