954,496 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

C++ program using classes

Below is a program that determines if one address comes before another address using classes. One constructor takes an apartment parameter and the other doesn't. My errors are invalid conversion from int to const and among others. Any ideas?

#include <iostream>
#include <stdlib>

using namespace std;

class Address
{

        public:
        Address(int h, string st, int appt, string c, string s, string pc);
        Address(int h, string st, string c, string s, string pc);
        bool comes_before(Address a) const;
        void print() const;

        private:
        int house_number;
        string street;
        int apartment_number;
        string city;
        string state;
        string postal_code;
};

Address::Address(int h, string st, int appt, string c, string s, string pc)
{
        // initialization of the variables
        house_number = h;
        street = st;
        apartment_number = appt;
        city = c;
        state = s;
        postal_code = pc;
}

Address::Address(int h, string st, string c, string s, string pc)
{


        // initialization of the variables
        house_number = h;
        street = st;
        city = c;
        state = s;
        postal_code = pc;
}
void Address::print()const
{

        cout << house_number << " " << street;
        if (apartment_number > 0 )
                cout << ", #" << apartment_number << endl;
                cout << city << ", " << state << ", " << postal_code << endl;
}

bool Address::comes_before( Address other)const
{

        return postal_code < other.postal_code;

}


int main()
{
        //creating an object of 'Address' for a house
        Address aHouse(100, "N.University Dr.", "Edmond", "OK", 73034);

        //creating another object of 'Address' for an apartment
        Address anApartment(201, "N.E. 89th St.", 305, "Oklahoma City", "OK", 73134);

        cout << " Comparing Address\n\n";
        a.House.print();

        cout << "\nwith address\n\n";

        anApartment.print();

        if(a.House.comes_before(anApartment))

                cout << "\nThe HOUSE address comes before the APARTMENT address\n";
        else
                cout << "\nThe HOUSE address does o come before the APARTMENT address\n";


        // comparing again

        if (anApartment.comes_before(aHouse))

                cout << " \nThe APARTMENT address comes before the HOUSE address\n";
        else
                cout << " \nThe APARTMENT address does not come before the HOUSE address\n";

        return 0;


<< moderator edit: added code tags : [code][/code] >>

djbsabkcb
Junior Poster in Training
92 posts since Jun 2005
Reputation Points: 14
Solved Threads: 0
 

figured it out was using a string in the class for zip code instead of int.

djbsabkcb
Junior Poster in Training
92 posts since Jun 2005
Reputation Points: 14
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You