Hola miren ando haciendo un programa que maneje 1 clases y un main:
Estado.h
Código C++:
Ver original#ifndef ESTADO_H
#define ESTADO_H
using namespace std;
#include <string>
class Estado
{
private:
int ident;
bool estInit;
bool estEnd;
public:
Estado();
virtual ~Estado();
Estado(int ident,bool inits,bool ends);
void setIdent(int id);
void setInitS(bool inits);
void setEndS(bool ends);
int getIdent();
bool getInitS();
bool getEndS();
};
#endif
Estado.c
Código C++:
Ver original#include "Estado.h"
Estado::Estado(int ident,bool inits,bool ends)
{
this->ident=ident;
this->estInit=inits;
this->estEnd=ends;
}
void Estado::setIdent(int id){
ident=id;
}
void Estado::setInitS(bool inits){
estInit=inits;
}
void Estado::setEndS(bool ends){
estEnd=ends;
}
int Estado::getIdent(){
return ident;
}
bool Estado::getInitS(){
return estInit;
}
bool Estado::getEndS(){
return estEnd;
}
El main.c
Código C++:
Ver original#include <iostream>
#include <vector>
#include"Trans.h"
#include"Estado.h"
using namespace std;
int menu();
void cargarAutomata(int numEstados,int numTrans);
int main()
{
int numEstados,numTrans,opc;
cout<<"\t\t**************************************\t\t"<<endl;
cout<<"\t\t*INGRESO DE PARAMAETROS PARA LA TABLA*\t\t"<<endl;
cout<<"\t\t**************************************\t\t"<<endl;
cout<<"Indica la cantidad de estados"<<endl;
cin>>numEstados;
cout<<"Indica la cantidad de transiciones"<<endl;
cin>>numTrans;
cargarAutomata(numEstados,numTrans);
return 0;
}
void cargarAutomata(int numEstados,int numTrans){
vector<Estado> states(numEstados,Estado());
}
Y por ultimo makefile
Código BASH:
Ver originalCC=g++ -c
LN=g++
Practica1: Estado.o Trans.o
$(LN) Estado.o Trans.o -o Practica1
transicion.o: Trans.c
$(CC) Trans.c Trans.o
est.o: Estado.c
$(CC) Estado.c Estado.o
Me aparece lo siguiente
Código BASH:
Ver originalg++ Estado.o Trans.o -o Practica1
/usr/lib/gcc/i486-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
Estado.o: In function `Estado::Estado(int, bool, bool)':
Estado.c:(.text+0x17): undefined reference to `vtable for Estado'
Estado.o: In function `Estado::Estado(int, bool, bool)':
Estado.c:(.text+0x51): undefined reference to `vtable for Estado'
collect2: ld returned 1 exit status
make: *** [Practica1] Error 1