C++;语义问题:';使用未声明的标识符';余额'&引用; 我是C++新手,使用XCODE,我有个问题, 在我的主.cpp文件Account.cpp中,代码是- #include <iostream> using namespace std; #include "Account.h" Account::Account() { double balance=0; balance=0; } Account getbalance() { return balance; } void deposit(double amount) { balance+=amount; } void withdraw(double amount) { balance-=amount; } void addInterest(double interestRate) { balance=balance*(1+interestRate); } #包括 使用名称空间std; #包括“Account.h” Account::Account() { 双平衡=0; 余额=0; } 账户余额() { 收益余额; } 无效保证金(双倍金额) { 余额+=金额; } 作废取款(双倍金额) { 余额-=金额; } 无效附加利息(双倍利率) { 余额=余额*(1+利率); }

C++;语义问题:';使用未声明的标识符';余额'&引用; 我是C++新手,使用XCODE,我有个问题, 在我的主.cpp文件Account.cpp中,代码是- #include <iostream> using namespace std; #include "Account.h" Account::Account() { double balance=0; balance=0; } Account getbalance() { return balance; } void deposit(double amount) { balance+=amount; } void withdraw(double amount) { balance-=amount; } void addInterest(double interestRate) { balance=balance*(1+interestRate); } #包括 使用名称空间std; #包括“Account.h” Account::Account() { 双平衡=0; 余额=0; } 账户余额() { 收益余额; } 无效保证金(双倍金额) { 余额+=金额; } 作废取款(双倍金额) { 余额-=金额; } 无效附加利息(双倍利率) { 余额=余额*(1+利率); },c++,semantics,C++,Semantics,我想我错过了一些东西,但我不知道在哪里,任何帮助都将不胜感激。谢谢 **头文件Account.h是- #include <iostream> using namespace std; class Account { private: double balance; public: Account(); Account(double); double getBalance(); void deposit(double amount);

我想我错过了一些东西,但我不知道在哪里,任何帮助都将不胜感激。谢谢

**头文件Account.h是-

#include <iostream>
using namespace std;
class Account
{
private:
    double balance;
public:
    Account();
    Account(double);
    double getBalance();
    void deposit(double amount);

    void withdraw(double amount);
    void addInterest(double interestRate);
};
#包括
使用名称空间std;
类别帐户
{
私人:
双平衡;
公众:
账户();
账户(双倍);
双getBalance();
无效保证金(双倍金额);
无效提款(双倍金额);
无效附加利息(双倍利率);
};

用以下方法编写构造函数

Account::Account()
{
    balance = 0.0;
}
我假设
balance
是类Account的
double
类型的数据成员

或者你可以写

Account::Account() : balance( 0.0 ) {}
如果函数是类成员函数,那么所有这些函数定义至少看起来像

double Account::getBalance()
{
    return balance;
}

void Account::deposit(double amount)
{
    balance+=amount;
}
void Account::withdraw(double amount)
{
    balance-=amount;
}
void Account::addInterest(double interestRate)
{
    balance=balance*(1+interestRate);
}
另外,您似乎忘记了使用参数定义构造函数

Account::Account( double initial_balance ) : balance( initial_balance ) {} 

按照以下方式编写构造函数

Account::Account()
{
    balance = 0.0;
}
我假设
balance
是类Account的
double
类型的数据成员

或者你可以写

Account::Account() : balance( 0.0 ) {}
如果函数是类成员函数,那么所有这些函数定义至少看起来像

double Account::getBalance()
{
    return balance;
}

void Account::deposit(double amount)
{
    balance+=amount;
}
void Account::withdraw(double amount)
{
    balance-=amount;
}
void Account::addInterest(double interestRate)
{
    balance=balance*(1+interestRate);
}
另外,您似乎忘记了使用参数定义构造函数

Account::Account( double initial_balance ) : balance( initial_balance ) {} 


双倍余额=0;余额=0什么?而且看起来您在一些地方缺少
帐户::
。由于这个错误,我猜您没有声明
balance
为成员,但是没有看到类声明,我只能猜测。请将问题包括在内,在评论中很难阅读。但乍一看,似乎缺少的
帐户::
s是(当前)问题。然后是不匹配的返回类型。好吧@Biffen抱歉,这样更好吗?当然更可读。但是你的代码还是一团糟。我可以建议你读一本教程或书吗?
double balance=0;余额=0什么?而且看起来您在一些地方缺少
帐户::
。由于这个错误,我猜您没有声明
balance
为成员,但是没有看到类声明,我只能猜测。请将问题包括在内,在评论中很难阅读。但乍一看,似乎缺少的
帐户::
s是(当前)问题。然后是不匹配的返回类型。好吧@Biffen抱歉,这样更好吗?当然更可读。但是你的代码还是一团糟。我可以建议你读一本教程或书吗?谢谢你的帮助,弗拉德!因此,如果我理解正确,第二次编辑是关于我的头文件,第一次和最后一次编辑是关于我的主功能文件?@sdubs177我在Account.cpp文件中显示了您应该做的更改。对于代码行-双帐户;Account::getbalance()它给了我一个错误“C++需要为所有声明指定一个类型说明符”@sdubs177这是一个输入错误。应存在双帐户::getBalance()。请参阅我更新的帖子。@sdubs177该函数应命名为getBalance。感谢您的帮助,Vlad!因此,如果我理解正确,第二次编辑是关于我的头文件,第一次和最后一次编辑是关于我的主功能文件?@sdubs177我在Account.cpp文件中显示了您应该做的更改。对于代码行-双帐户;Account::getbalance()它给了我一个错误“C++需要为所有声明指定一个类型说明符”@sdubs177这是一个输入错误。应存在双帐户::getBalance()。请参阅我更新的帖子。@sdubs177该函数应命名为getBalance。