因此,在单独的头文件中有两个类
客户。 ħ
using namespace std;
#include <iostream>
class Customer{
friend void Display();
private:
int number, zipCode;
public:
Customer(int N, int Z){
number = N;
zipCode = Z;
}
};
市。 H using namespace std; #包括 #include“Customer.h”
class City{
friend void Display();
private:
int zipCode;
string city, state;
public:
City(int Z, string C, string S){
zipCode = Z;
city = C;
state = S;
}
};
我的main.cpp如下
#include "City.h"
#include "Customer.h"
void Display(){
cout<<"Identification Number: "<<Customer.number<<endl
<<"Zip Code: "<<Customer.zipCode<<endl
<<"City: "<<City.city<<endl
<<"State: "<<City.state<<endl;
}
int main() {
Customer A(1222422, 44150);
City B(44150, "Woklahoma", "Kansas");
Display();
}
我很擅长c ++的基础知识,但这是我不明白的地方,所以我的具体问题是....为什么我的Display函数的四行编译器告诉我“错误:预期的主要 - '。'标记之前的表达式“
提前致谢,Macaire
答案 0 :(得分:1)
您正在尝试从类名
访问数据成员Customer.number
你做不到。您需要一个Customer
实例:
Customer c;
std::cout << c.number;
您可能希望将Display()
更改为
void Display(const Customer& c);
然后像这样使用它:
Customer A(1222422, 44150);
Display(A);
,同样适用于City
。
答案 1 :(得分:1)
Customer
是一种类型。您需要一个该类型的对象来访问它的number
成员(对于其余的行也是如此)。
您可能打算将Customer
和City
作为Display
的参数:
void Display(Customer customer, City city){
cout<<"Identification Number: "<<customer.number<<endl
<<"Zip Code: "<<customer.zipCode<<endl
<<"City: "<<city.city<<endl
<<"State: "<<city.state<<endl;
}
然后将Customer
和City
个对象传递给该函数:
Display(A, B);