C++ [C+;+;]构造函数不';无法检测组件
我是OOP的初学者,我对构造函数的定义有问题。 headfile.h:C++ [C+;+;]构造函数不';无法检测组件,c++,function,constructor,components,C++,Function,Constructor,Components,我是OOP的初学者,我对构造函数的定义有问题。 headfile.h: #ifndef RACHUNEK_H_INCLUDED #define RACHUNEK_H_INCLUDED #include <string> class Rachunek { std::string surname; std::string nr_account; double balance; public: Rachunek(); Rachunek(std::string
#ifndef RACHUNEK_H_INCLUDED
#define RACHUNEK_H_INCLUDED
#include <string>
class Rachunek
{
std::string surname;
std::string nr_account;
double balance;
public:
Rachunek();
Rachunek(std::string & name,std::string & nr,double s = 0.0);
~Rachunek(){};
void show();
void give(const double m);
void get(const double m);
};
#endif // RACHUNEK_H_INCLUDED
#如果包括RACHUNEK#u H#u
#定义包含的轴孔
#包括
拉胡尼克级
{
std::字符串姓氏;
std::字符串nr_帐户;
双平衡;
公众:
Rachunek();
Rachunek(标准:字符串和名称,标准:字符串和编号,双s=0.0);
~Rachunek(){};
void show();
无效给定值(常数加倍m);
void-get(const-double-m);
};
#endif//RACHUNEK_H_包括在内
文件.cpp:
#include <iostream>
#include <string>
#include "rachunek.h"
using namespace std;
Rachunek::Rachunek() //default
{
surname = "not specified";
nr_account = "0000-0000-0000-0000";
balance = 0.0;
}
Rachunek::Rachunek(string & name, string & nr, double s = 0.0) //mysecond
{
surname = name;
nr_account = nr;
balance = s;
}
#包括
#包括
#包括“rachunek.h”
使用名称空间std;
Rachunek::Rachunek()//默认值
{
姓氏=“未指定”;
nr_account=“0000-0000-0000-0000”;
余额=0.0;
}
Rachunek::Rachunek(string&name,string&nr,双s=0.0)//mysecond
{
姓氏=姓名;
nr_账户=nr;
平衡=s;
}
问题是构造函数的定义。我不知道怎么了
问题是构造函数的定义。我不知道怎么了
函数定义中不允许有默认值。仅在声明中允许使用默认值。使用:
Rachunek::Rachunek(string & name, string & nr, double s) :
surname(name),
nr_account(nr),
balance(s)
{
}
我建议更改其他构造函数的实现,以使用初始值设定项列表语法初始化成员变量
Rachunek::Rachunek() :
surname("not specified"),
nr_account("0000-0000-0000-0000"),
balance(0.0)
{
}
如果您能够使用C++11编译器,则可以通过使用委托构造函数进一步简化该编译器
Rachunek::Rachunek() : Rachunek("not specified", "0000-0000-0000-0000", 0.0)
{
}
问题是构造函数的定义。我不知道怎么了
函数定义中不允许有默认值。仅在声明中允许使用默认值。使用:
Rachunek::Rachunek(string & name, string & nr, double s) :
surname(name),
nr_account(nr),
balance(s)
{
}
我建议更改其他构造函数的实现,以使用初始值设定项列表语法初始化成员变量
Rachunek::Rachunek() :
surname("not specified"),
nr_account("0000-0000-0000-0000"),
balance(0.0)
{
}
如果您能够使用C++11编译器,则可以通过使用委托构造函数进一步简化该编译器
Rachunek::Rachunek() : Rachunek("not specified", "0000-0000-0000-0000", 0.0)
{
}
你得到的错误是什么?好的。错误在定义中的赋值中:我一直在寻找这个问题。除了编译错误,你永远不会在银行账户余额中使用浮点。这使得审计人员对舍入误差发疯。相反,使用美分并将输出固定为2位小数。此外,您永远无法创建初始余额为非零的帐户。资金必须始终从其他帐户转移。(是的,我在一家银行工作:-)好的好的:D这是本子上的练习,我不关注计划的细节,我也不在银行工作:)谢谢你的经济课;)你得到的错误是什么?好的。错误在定义中的赋值中:我一直在寻找这个问题。除了编译错误,你永远不会在银行账户余额中使用浮点。这使得审计人员对舍入误差发疯。相反,使用美分并将输出固定为2位小数。此外,您永远无法创建初始余额为非零的帐户。资金必须始终从其他帐户转移。(是的,我在一家银行工作:-)好的好的:D这是本子上的练习,我不关注计划的细节,我也不在银行工作:)谢谢你的经济课;)