注册 登录
编程论坛 C++教室

请帮忙解决c++error

晓宁 发布于 2011-09-08 14:43, 358 次点击
#include<iostream>                       
#include<string>
using namespace std;

class Customer                                            
{
    friend void displayAsFriend(Customer);               
private:
    int custNum;
    double balanceDue;
public:
    Customer(int=0, double=0.0);
    void displayCustomer();
};
Customer :: Customer(int num,double balance)
{
    custNum=num;                                          
    balanceDue=balance;
}
void Customer :: displayCustomer()                  
{
    cout<<"In the member function"<<endl;
    cout<<"Customer #"<<custNum<<" has balance of RM"<<balanceDue<<endl;  
void displayAsFriend(Customer cust)                             
{
    cout<<" In the friend function: "<<endl;
    cout<<" Customer #"<<cust.custNum<<" has a balance of RM "<<cust.balanceDue<<endl;
}

int main()
{
    Customer onePatron(3815,259.25);
    onePatron.displayCustomer();
    displayAsFriend(onePatron);
    return 0;        
}
3 回复
#2
lqsh2011-09-08 15:01
程序代码:
#include<iostream>                     
#include<string>
using namespace std;
class Customer                                          
{
    friend void displayAsFriend(Customer &);  //友元不属于Customer类,不能在它的作用域内定义。            
private:
    int custNum;
    double balanceDue;
public:
    Customer(int num=0, double balance=0.0):custNum(num),balanceDue(balance){
    }
    void displayCustomer();
};
void Customer :: displayCustomer()               
{
    cout<<"In the member function"<<endl;
    cout<<"Customer #"<<custNum<<" has balance of RM"<<balanceDue<<endl;
  
}
void displayAsFriend(Customer &cust)                           
{
    cout<<" In the friend function: "<<endl;
    cout<<" Customer #"<<cust.custNum<<" has a balance of RM "<<cust.balanceDue<<endl;
}
int main()
{
    Customer onePatron(3815,259.25);
    onePatron.displayCustomer();
    displayAsFriend(onePatron);
    return 0;      
}
  
#3
coobae2011-09-08 15:03
少写了一个括号。。。。。。
#4
jcw081201102011-09-08 15:17
2楼看错了 就是少写了一个括号
程序代码:
void Customer :: displayCustomer()               
{
    cout<<"In the member function"<<endl;
    cout<<"Customer #"<<custNum<<" has balance of RM"<<balanceDue<<endl;
  
}//这里;
1