i got this error message in my program :
1>Reservation.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Reservation::ID_sn(void)" (?ID_sn@Reservation@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Reservation::getReservationNumber(void)" (?getReservationNumber@Reservation@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
and this is the program it contain 2 header files and their cpp file plus the main file
Passenger . h
<pre>#ifndef PASSENGER_H //to avoid redefinition errors
#define PASSENGER_H
#include <iostream>
#include<string>
using namespace std;
class Passenger {
public:
Passenger();
Passenger(string,string,long);
void setPassengerName(string);
void setPassportNumber(string);
void setContactNumber(long);
string getPassengerName();
string getPassportNumber();
long getContactNumber();
void printDetails();
private:
string passengerName;
string passportNumber;
long contactNumber;
};
#endif
Passenger . cpp
<pre>#include <iostream>
#include "Passenger.h"
using namespace std;
Passenger::Passenger(string a="",string b="",long c=0)
{
setPassengerName(a);
setPassportNumber(b);
setContactNumber(c);
}
void Passenger::setPassengerName(string Pname)
{
passengerName=Pname;
}
void Passenger::setPassportNumber(string Pnum)
{
passportNumber=Pnum;
}
void Passenger::setContactNumber(long Cnum)
{
contactNumber=Cnum;
}
string Passenger::getPassengerName()
{
return passengerName;
}
string Passenger::getPassportNumber()
{
return passportNumber;
}
long Passenger::getContactNumber()
{
return contactNumber;
}
void Passenger::printDetails()
{
cout<<"passenger name: "<<getPassengerName()<<"\npassenger Passport Number: "<<getPassportNumber()<<
"\npassenger contact number: "<<getContactNumber()<<"\n\n";
}
Reservation . h
<pre>#ifndef RESERVATION_H_ //to avoid redefinition errors
#define RESERVATION_H_
#include <iostream>
#include <string>
#include "Passenger.h"
using namespace std;
class Reservation{
private:
static int sn;
const string ID;
bool smokerSeat;
Passenger passenger;
public:
Reservation(string psngrName, long psngrPhone, string psngrPassport, bool smoke);
Reservation(Passenger& psngr, bool smoke);
Passenger getPassenger();
bool isSmoker();
string getReservationNumber();
void printDetails();
string ID_sn();
};
#endif /*RESERVATION_H_*/
main .cpp
<pre>#include <iostream>
#include "Passenger.h"
#include "reservation.h"
int main()
{
Passenger passenger1("aar","k9",23596);
Passenger *passengerPtr=&passenger1;
passengerPtr->printDetails();
Reservation reservation("aarr",566,"t77",0);
Reservation *reservationPtr=&reservation;
reservationPtr->printDetails();
system("PAUSE");
}
Im a beginner in programming and that's problem make me really confused
** i think the problem in the Reservation.cpp
Because when i test the other file's it was working but after i added the implementation for the reservation header this problem was appeared
modified 14-Dec-12 7:41am.
|