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+利率); }
我想我错过了一些东西,但我不知道在哪里,任何帮助都将不胜感激。谢谢 **头文件Account.h是-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);
#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。