朋友功能程序没有产生主要功能所需的值?

时间:2017-10-04 02:05:05

标签: c++

我希望cout语句在main()函数中生成值,如下所示:

客户ID:1234

城市:Gastonia的

州:北卡罗来纳州

邮政编码:28054

我认为这是一个简单的解决方案,但是我已经花了很多钱准备放弃。我冒烟了。任何帮助将不胜感激!

     #include<iostream>
#include <string>
using namespace std;


class City;
class Customer
{
private:
int customerNumber;
int zipcode;
public:
Customer(int number, int zip)
{
    customerNumber = number;
    zipcode = zip;
}
friend void display(Customer customer, City city);
};
class City
{
private:
string city;
string state;
public:
City(string C, string S)
{
    city = C;
    state = S;
}


friend void display(Customer customer, City city);

};

void display(Customer customer, City city)
{
cout << "Customer Number: " << endl;
cout << "City: " << endl;
cout << "State: " << endl;
cout << "Zip code: " << endl;
}

int main()
{
Customer customer(1234, 28054);
City city("Gastonia", "North Carolina");
display(customer, city);

return 0;

1 个答案:

答案 0 :(得分:0)

display实际上并未访问对象中的字段。简单修复:

void display(Customer customer, City city) {
    cout << "Customer Number: " << customer.customerNumber << endl;
    cout << "City: " << city.city << endl;
    cout << "State: " << city.state << endl;
    cout << "Zip code: " <<  customer.zipcode << endl;
}