ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

20.12.2009, 01:47
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Короче так, делаешь в unit1.h обьявление твоего класса в unit1.cpp реализация,
в unit2.h я так понимаю обьявление класса формы там и добавляешь переменную своего класса и создаешь экземпляр класса(в куче/стеке как хочешь)
п.с. лучше избегать обьявления глобальных переменных.
п.п.с. всю реализацию желательно выноси в .срр файлы что бы потом путаницы небыло.
так же у тебя будут проблемы, когда ты проинклюдишь этот класс более чем в одном файле
та я думаю борланд протект на хэдэры ifndef/define ставит ))
Последний раз редактировалось razb; 20.12.2009 в 01:53..
|
|
|

20.12.2009, 01:59
|
|
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме: 1510937
Репутация:
398
|
|
Сообщение от razb
Немного не ясно что тебе необходимо сделать, поподробней ...
проектирование и разработка системы для тестирование работоспособности сети (в графическом виде)

Последний раз редактировалось PandoraBox; 20.12.2009 в 08:09..
|
|
|

20.12.2009, 02:06
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
Сообщение от Ra$cal
зачем объект объявляешь прямо в хидере с описанием класса? его обычно объявляют в том классе, который будет его использовать. так же у тебя будут проблемы, когда ты проинклюдишь этот класс более чем в одном файле. нужно будет ставить модификатор static.
подожди, это коды были файлов срр а не хеадеров, в
юнит1.срр объявляется myclass calculate, потому что тут вычисляются методы, половинное деление, дробного шага и т.д., а юнит2.срр это форма которая показывает график функции (2*x*x-12.5)*cos(x), а эта функция вычисляется функцией
Код:
float FX( float X)
{
return (2*x*x-12.5)*cos(x)
}
и соответственно она является методом myclass, кароче ппц )))))))
[QUOTE =razb]Короче так, делаешь в unit1.h обьявление твоего класса в unit1.cpp реализация[/QUOTE]
так и есть
[QUOTE =razb]
в unit2.h я так понимаю обьявление класса формы там и добавляешь переменную своего класса и создаешь экземпляр класса(в куче/стеке как хочешь)[/QUOTE]
по подробнее нельзя?  объявление класса формы есть, где тут указать мой класс
Код:
class TForm2 : public TForm
{
__published: // IDE-managed Components
TChart *Chart1;
TLineSeries *Series1;
TCustomTeeFunction *TeeFunction1;
void __fastcall FormShow(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
ладно ща книжку нашел Архангельский еще читану, вроде по классам
Последний раз редактировалось SaiRus; 20.12.2009 в 02:09..
|
|
|

20.12.2009, 02:11
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
да, лучше почитай книжку. это основы, в первых главах объясняются.
|
|
|

20.12.2009, 02:18
|
|
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме: 1510937
Репутация:
398
|
|
SaiRus, вот еще глянь такой способ подстановки функции http://www.rsdn.ru/article/files/Classes/tparser.xml
|
|
|

20.12.2009, 03:42
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
Спасибо парни, на самом деле более - менее понял структуру 
но щас пытаюсь понять следующее, почему мой созданый класс не понимает
такой строчки
Код:
Form2->Memo1->Lines->Add("Метод дробного шага:");
как сделать что бы он унаследовал объекты класса TForm2, конечно можно описать функции в самом классе, но охота собственный класс что бы препод не до копался
Код:
void TForm2 :: PL_DEL(float a,float b,float eps)
уже так сделал, все равно при выводе в мемо1 к примеру ошибку выкидывает...
не понял в чем фишка, но сделал...фсе спать, завтра разбираться как так получилось )))))
Последний раз редактировалось SaiRus; 20.12.2009 в 05:25..
|
|
|

20.12.2009, 05:04
|
|
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме: 1510937
Репутация:
398
|
|
это в файл Form1.cpp например обяви и дальше мути что хочешь
немогу заюзать класс в юнит2.h как понял надо extern'ом тащить, класс вытаскиваю, дальше пытаюсь определить переменную для этого класса ни хера кароче...как правильно подключить этот класс? спасибо
[ extern <тип_данных> <имя_переменно> ] нужен для того чтобы обявить что вы можете по его точному имени получить данные с переменных с такм же именем в другом cpp файле, где указан <тип_данных> <имя_переменно> без extern !
Последний раз редактировалось PandoraBox; 20.12.2009 в 05:25..
|
|
|

20.12.2009, 05:41
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
на самом деле не понимаю только одно
почему такая конструкция не катила
в хедаре1 описан класс в файле реализации (срр1) описаны методы через расширение области "::", в этих методах выводиться в форм1->мемо1 текс, потом объявление класса объявление формы, вызов метода
а такая катит
в хедаре1 описан класс в файле реализации (срр1) описаны методы через расширение области "::", в этих методах выводиться в форм2->мемо1 текс
мож сам че то накосячил, ну ладно...
|
|
|

20.12.2009, 12:10
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
если есть ошибки - пиши код. ломать голову над переводом русского в с++ задача та еще, слишком много нюансов.
|
|
|

20.12.2009, 14:39
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
похер кароче, разбирать ебанистические коды действительно не благодарное занятие 
Последний раз редактировалось SaiRus; 20.12.2009 в 15:19..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|