0
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.

Jason
  • 36,170
  • 5
  • 26
  • 60

0 Answers0