如何用不同的构造函数创建类对象
How to create class objects with different constructors?
#include <iostream>
#include <string>
using namespace std;
class account {
public:
double credit(account account, double add);
double debit(account account, double withdraw);
double getBalance(account account);
double addAccountBalance(account account1, account account2);
account() {
balance = 0;
}
account::account (){
if (balance <= 0){
cout << "Initial balance was invalid!" ;
balance = 0;
}
}
private:
double balance;
};
int main(){
所以我的项目是创建两个银行账户。问题是我如何创建类帐户对象,并初始化一个与默认构造函数(帐户)和一个与另一个(帐户::帐户)。对于默认构造函数,我不是在谈论编译器使用的隐式构造函数。而是我在下面的那个。我希望能够在main中使用这些变量。第一个构造函数。默认值。如果余额为负数,则将余额设置为0,如果余额为负数,则将余额设置为0;
基本上用默认构造函数创建一个帐户,用非默认构造函数创建另一个帐户。
您需要有一个像这样的非默认构造函数,它接受一个参数。正如您所看到的那样,两个构造函数都不接受参数,因此它们都是默认构造函数的候选者。所以我认为你的程序根本无法编译。
account (double _balance){
if (_balance <= 0){
cout << "Initial balance was invalid!" ;
balance = 0;
} else {
balance = _balance;
}
}
在account内部实现的account::account()不是构造函数。
你需要重载构造函数来实现这一点。
可以有以下构造函数:
class account {
account();
account(double initialBalance);
}
所以如果你实例化account没有参数,第一个构造函数将被调用。如果您提供了一个initialBalance,则将使用第二个。
相关文章:
- 使用基类指针创建对象时,缺少派生类析构函数
- 如何创建对象函数指针C++映射?
- C++创建对象数组
- 在 C++ 的 Switch Case 中创建对象后对对象调用方法
- 如何获取在 main() 函数中构造的类的创建对象?
- 基于文件中的条目创建对象
- 错误:创建对象后无法分配区域
- C++ 通过输入创建对象
- 堆还是堆栈用于创建对象?
- 使用 C++ 创建对象数组
- 使用unique_ptr创建对象
- C++递归地在类构造函数中创建对象
- 通过向构造函数其他对象引用页面来创建对象
- ReactiveX (rx) - 在对象上应用可观察对象,而不是在可观察对象中创建对象
- 如何在OSX上正确创建C++对象文件(.o)
- 编译器是否会创建vtable,而不考虑在c++中创建对象
- 创建对象并防止被破坏
- 在C++中,友元类可以从友元类创建对象吗
- 只在堆中创建C++对象
- 创建用户定义的复制构造函数时无法创建对象