声明与类型不兼容

Eri*_*din 8 c++ string types

头文件:

#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
Run Code Online (Sandbox Code Playgroud)

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;
}
Run Code Online (Sandbox Code Playgroud)

请帮助我在getAcctOwnersName和setAcctOwnersName下遇到错误,声明该声明与"<error-type> bankAccount :: getAcctOwnersName()const"不兼容.

jua*_*nza 19

你需要

#include <string>
Run Code Online (Sandbox Code Playgroud)

bankAccount头文件中,并将字符串引用为std::string.

#ifndef H_bankAccount;
#define H_bankAccount;

#include <string>

class bankAccount
{
public:
    std::string getAcctOwnersName() const;

   ....
Run Code Online (Sandbox Code Playgroud)

一旦它包含在标题中,您就不再需要将其包含在实现文件中.

  • 好的,我在字符串类型之前将 std::string 添加到我的头文件代码中,并且它没有改变任何内容 (2认同)
  • 这个答案没有用。不提供与发帖人引用的错误消息的任何联系或解释。 (2认同)