Hello everyone,
I am a C++ newbie and I am running into some linking errors. I am using Vi to compile and link my code.
Here are the linking errors:
assign6.o: In function `cAccountList::cAccountList()':
assign6.cpp:(.text+0x1db): undefined reference to `cAccount::cAccount()'
assign6.o: In function `cAccountList::cAccountList()':
assign6.cpp:(.text+0x22b): undefined reference to `cAccount::cAccount()'
assign6.o: In function `cAccountList::sort_by_ID()':
assign6.cpp:(.text+0x676): undefined reference to `cAccount::cAccount()'
collect2: ld returned 1 exit status
here is my code:
//Assignment #6 due 2-8-2010
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
//global declarations
typedef char Name_t[15];
typedef fstream Infile_t;
typedef fstream Outfile_t;
typedef char Filename_t[50];
//*****************************************************************************************
//classes
class cAccount
{
private:
int accountID;
Name_t accountName;//(last,first)
float accountBal;
public:
cAccount();
int get_accountID(int &accountID)
{ accountID=this->accountID; return accountID;};
void read(Infile_t &Infile);
void print(Outfile_t &Outfile);
void display();
};//end of cAccount
class cAccountList
{
private:
static const int MAXARRAYSIZE=51;
int counter;
typedef cAccount AccountArray[MAXARRAYSIZE];
AccountArray AccountList;
public:
cAccountList();
void load_data(Infile_t &Infile);
void print_to_outfile(Outfile_t &Outfile);
void print_to_screen();
void sort_by_ID();
};//end of cAccountList
//*****************************************************************************************
//class cAccount functions
void cAccount::read(Infile_t &Infile)
{ Infile>>accountID>>accountName>>accountBal; };
//end of cAccount::Read
void cAccount::print(Outfile_t &Outfile)
{
Outfile<<" "<<accountID<<" "<<accountName<<" "<<accountBal<<endl;
Outfile<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
};//end of print
void cAccount::display()
{
cout<<" "<<accountID<<" "<<accountName<<" "<<accountBal<<endl;
cout<<"***********************************************************"<<endl;
};//end of display
//*****************************************************************************************
//class cAccountList functions
cAccountList::cAccountList()
{ counter=0; };//default constructors
void cAccountList::load_data(Infile_t &Infile)
{
Filename_t Filename;
cout<<"Please enter the name of the datafile to be used:"<<endl;
cin>>Filename;
Infile.open(Filename,ios::in);
AccountList[counter].read(Infile);
while(!Infile.eof())
{
counter=counter+1;
AccountList[counter].read(Infile);
}//end while
Infile.close();
cout<<"Datafile read....SUCCESS!"<<endl;
};//end of read_data
void cAccountList::print_to_outfile(Outfile_t &Outfile)
{
Filename_t Filename;
cout<<"Please enter the name of the output file:"<<endl;
cin>>Filename;
Outfile.open(Filename,ios::out);
Outfile<<"**************************************************************"<<endl;
Outfile<<" "<<"ACCOUNT_ID#"<<" "<<"ACCOUNT_NAME"<<" "<<"ACCOUNT_BALANCE"<<endl;
Outfile<<"**************************************************************"<<endl<<endl;
for(int I=0; I<counter; I++)
{
AccountList[I].print(Outfile);
}//end for
Outfile.close();
cout<<"Outfile write...SUCCESS!"<<endl<<endl;
};//end print_to_outfile
void cAccountList::print_to_screen()
{
cout<<"Generating preview of output....."<<endl<<endl;
cout<<"**************************************************************"<<endl;
cout<<" "<<"ACCOUNT_ID#"<<" "<<"ACCOUNT_NAME"<<" "<<"ACCOUNT_BALANCE"<<endl;
cout<<"**************************************************************"<<endl<<endl;
for(int I=0; I<counter; I++)
{
AccountList[I].display();
}//end for
}//end print_to_screen
void cAccountList::sort_by_ID()
{
int I,Pass;
int accountID;
AccountArray temp;
for(Pass=1; Pass<counter-1; Pass++)
{
for(I=0; I<counter-1; I++)
{
if(AccountList[I].get_accountID(accountID) < AccountList[I+1].get_accountID(accountID));
{
temp[I]=AccountList[I];
AccountList[I]=AccountList[I+1];
AccountList[I+1]=temp[I];
}//end if
}//end inside for
}//end outside for
}//end sort_by_ID
//*********************************************************************************************************
//main
int main()
{
Infile_t Infile;
Outfile_t Outfile;
cAccountList ACCOUNT;
ACCOUNT.load_data(Infile);
ACCOUNT.sort_by_ID();
ACCOUNT.print_to_outfile(Outfile);
ACCOUNT.print_to_screen();
return 0;
}//end main
It appears they are all revolving around a singular issue in my code but I dont really understand at all whats wrong.
Any help would be much appericiated