Re[4]: HELP создание класса
От: Аноним  
Дата: 26.12.03 06:23
Оценка:
Спасибо за ответы.

С ObjectPascal перехожу на C++.

Вот поэтому такие вопросы задаю (в институте отучился уже)

У меня еще один вопрос возник:

есть программа и модуль(types.cpp, types.h)
В модуле я описываю типы и функции

Когда пробую вызывать функции из программы, она ругается и говорт нет такой функции в main.obj
код примерно такой:

//---------types.h-----
#ifndef typesH
#define typesH

#include <system.hpp>;
#include <cstring.h>;
#include <vector>;

class ADR{
  public:
    unsigned short int  house;
    string              office;
    string              ext;
    string              full;
};


class FIRM{
  public:
    unsigned int        fid;
    string              org_name;
    string              firm_name;
    std::vector<ADR>    ADR;

    void get_all_firm();
};
#endif




//---------types.cpp-----
#pragma hdrstop
#include "types.h"
#pragma package(smart_init)

FIRM *FIRM;

void FIRM::get_all_firm()
{
........
};





//---------main.h-----
#ifndef MainH
#define MainH
#include <windows.h>
#include "mysql/mysql.h"
#include "types.h"        <- мой модуль 
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>

class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:        // User declarations
        MYSQL *mysql;
        FIRM firm;
        __fastcall TForm1(TComponent* Owner);
};
extern PACKAGE TForm1 *Form1;
#endif




//---------main.cpp-----
#include <vcl.h>
#include <vector>
#pragma hdrstop

#include "Main.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  firm.fid= 1;                      <- работает 
  firm.ADR.insert(firm.ADR.begin()); <-работает
  firm.ADR.insert(firm.ADR.begin());
  firm.get_all();                    <- НЕ РАБОТАЕТ (говорит "[Linker Error] Unresolved external 'FIRM::get_all()' referenced from C:\PROJECTS WEB\C++\TEST\MAIN.OBJ") 
}


Подскажите чего делать надо...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.