class personType{
protected:
string firstName;
string lastName;
public:
void setName(string fisrt,string last){
firstName = fisrt;
lastName = last;
}
string getFirstName(){
return firstName;
}
string getLastName(){
return lastName;
}
personType(string first,string last){
firstName = first ;
lastName = last;
}
personType(){
}
bool operator==(const personType& right)const{
return (firstName == right.firstName &&
lastName == right.lastName);
}
bool operator!=(const personType& right)const{
return (firstName != right.firstName ||
lastName != right.lastName);
}
bool operator<=(const personType& right)const{
return (lastName <= right.lastName ||
(lastName == right.lastName &&
firstName <= right.firstName
));
}
bool operator<(const personType& right)const{
return (lastName < right.lastName ||
(lastName == right.lastName &&
firstName < right.firstName
)) ;
}
bool operator>(const personType& right)const{
return (lastName > right.lastName ||
(lastName == right.lastName &&
firstName > right.firstName
)) ;
}
bool operator>=(const personType& right)const{
return (lastName >= right.lastName ||
(lastName == right.lastName &&
firstName >= right.firstName
)) ;
}
friend istream& operator>>(istream& isObject,personType& pName){
isObject >> pName.firstName >>pName.lastName;
return isObject;
}
friend ostream& operator<<(ostream& osObject,const personType& pName){
osObject << pName.firstName <<" "<< pName.lastName;
return osObject;
}
};
and.
class candidateType:public personType{
public:
void updateVotesByRegion(int region,int votes){
votesByRegion[region-1]= votesByRegion[region-1] + votes;
}
void setVotes(int region,int votes){
votesByRegion[region-1]=votes;
}
void calculateTotalVotes(){
int i;
totalVotes = 0;
for(i = 0;i<region;i++)
totalVotes +=votesByRegion[i];
}
int getTotalVotes() const{
return totalVotes;
}
void printData() const{
cout<<left<<setw(8)<<firstName<<""<<setw(8)<<lastName<<" ";
cout<<right;
for(int i=0;i<region;i++)
cout<<setw(8)<<votesByRegion[i]<<" ";
cout<<setw(7)<<totalVotes<<endl;
}
candidateType(){
for(int i=0;i<region;i++)
votesByRegion[i]=0;
totalVotes = 0;
}
bool operator==(const candidateType& right)const{
return (firstName == right.firstName &&
lastName == right.lastName);
}
bool operator!=(const candidateType& right)const{
return (firstName != right.firstName ||
lastName != right.lastName);
}
bool operator<=(const candidateType& right)const{
return (lastName <= right.lastName ||
(lastName == right.lastName &&
firstName <= right.firstName
)) ;
}
bool operator<(const candidateType& right)const{
return (lastName < right.lastName ||
(lastName == right.lastName &&
firstName < right.firstName
)) ;
}
bool operator>(const candidateType& right)const{
return (lastName > right.lastName ||
(lastName == right.lastName &&
firstName > right.firstName
)) ;
}
bool operator>=(const candidateType& right)const{
return (lastName >= right.lastName ||
(lastName == right.lastName &&
firstName >= right.firstName
)) ;
}
const candidateType& operator=(const candidateType& right){
if(this != &right){
firstName = right.firstName;
lastName = right.lastName;
for(int i=0;i<region;i++)
votesByRegion[i]=right.votesByRegion[i];
totalVotes = right.totalVotes;
}
return *this;
}
const candidateType& operator=(personType& right){
this->firstName = right.getFirstName();
this->firstName = right.getLastName();
return *this;
}
private:
int votesByRegion[region];
int totalVotes;
};
In the first line item of each code is where the error is. I do have the header files included #candidateType.h and #personType.h.