【发布时间】:2013-05-02 16:22:59
【问题描述】:
头文件:
#ifndef H_bankAccount;
#define H_bankAccount;
class bankAccount
{
public:
string getAcctOwnersName() const;
int getAcctNum() const;
double getBalance() const;
virtual void print() const;
void setAcctOwnersName(string);
void setAcctNum(int);
void setBalance(double);
virtual void deposit(double)=0;
virtual void withdraw(double)=0;
virtual void getMonthlyStatement()=0;
virtual void writeCheck() = 0;
private:
string acctOwnersName;
int acctNum;
double acctBalance;
};
#endif
cpp 文件:
#include "bankAccount.h"
#include <string>
#include <iostream>
using std::string;
string bankAccount::getAcctOwnersName() const
{
return acctOwnersName;
}
int bankAccount::getAcctNum() const
{
return acctNum;
}
double bankAccount::getBalance() const
{
return acctBalance;
}
void bankAccount::setAcctOwnersName(string name)
{
acctOwnersName=name;
}
void bankAccount::setAcctNum(int num)
{
acctNum=num;
}
void bankAccount::setBalance(double b)
{
acctBalance=b;
}
void bankAccount::print() const
{
std::cout << "Name on Account: " << getAcctOwnersName() << std::endl;
std::cout << "Account Id: " << getAcctNum() << std::endl;
std::cout << "Balance: " << getBalance() << std::endl;
}
请帮助我在 getAcctOwnersName 和 setAcctOwnersName 下遇到错误,指出声明与“
【问题讨论】:
-
如前所述,代码不应编译,因为头文件不包含
<string>。我认为问题可能是标题获得了string与std::string不同的含义。尝试将#include <string>放入标题中并在其中使用std::string而不是普通的string。看看有没有帮助。 -
除非这是您的编译器显示的第一个错误,否则您最好忽略它。始终从上到下查看错误列表;不要从它打印的最后一个开始,即使那是在输出中最容易找到的那个。通常,程序早期的一个错误可能会在以后导致一连串错误,如果不首先解决触发它们的错误,就试图修复后来的错误是没有好处的。