gpt4 book ai didi

c++ - 构造函数和默认构造函数的区别

转载 作者:行者123 更新时间:2023-11-30 01:19:06 26 4
gpt4 key购买 nike

我正在编写以下程序。

编写一个名为 CAccount 的类,其中包含两个 私有(private)数据元素,一个整数 accountNumber 和一个浮点账户余额,以及三个 成员函数:

  1. 允许用户设置的构造函数 accountNumber 的初始值和 accountBalance 和默认构造函数 提示输入值 以上数据成员。

  2. 一个名为 inputTransaction 的函数, 它读取一个字符值 交易类型('D'代表存款 和'W'表示退出)和一个 float transactionAmount 的值,其中 更新 accountBalance。

  3. 一个名为 printBalance 的函数,它 在屏幕上打印 accountNumber 和账户余额。

--

#include <iostream>

using namespace std;

class CAccount{
public:
CAccount(){
setValues(2, 5);
printBalance();
inputTransaction();
printBalance();
}
void setValues(int aN, int aB);
void inputTransaction();
void printBalance();
private:
int accountNumber;
float accountBalance;
};

void CAccount::setValues(int aN, int aB){
accountNumber = aN;
accountBalance = aB;
}

void CAccount::inputTransaction(){
char transactionType;
float transactionAmount;
cout << "Type of transaction? D - Deposit, W - Withdrawal" << endl;
cin >> transactionType;
cout << "Input the amount you want to deposit/withdraw" << endl;
cin >> transactionAmount;
if(transactionType == 'D'){
accountBalance += transactionAmount;
}
else if(transactionType == 'W'){
accountBalance -= transactionAmount;
}
}

void CAccount::printBalance(){
cout << "Account number : " << accountNumber << endl << "Account balance : " << accountBalance << endl;
}

int main ()
{
CAccount client;
}

我不明白这部分:

 1. A constructor that allows the user to set 
initial values for accountNumber and
accountBalance and a default constructor
that prompts for the input of the values for
the above data members.

构造函数和默认构造函数之间到底有什么区别,我对这一步有点困惑。

除此之外,我想请有更多经验的人告诉我在用类编码时应该遵循的任何提示以及应该避免的错误(这是我用 C++ 编写的第一个类)。

最佳答案

默认构造函数被定义为完全没有参数,这与一般的构造函数相反,后者可以有任意多的参数。

您的第二个问题过于笼统,无法在这里回答。请转向网上的许多资源。 stackoverflow 适用于特定问题,不适用于教程。

关于c++ - 构造函数和默认构造函数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21425846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com