我是c ++的新手。我想创建银行帐户。我希望第一个创建的银行帐户的帐号为100000,第二个应该有100001,第三个应该有100002,依此类推。 我写了一个程序,但“数字”的值不会改变。每个银行帐户的数量都是100000.我不知道如何解决这个问题。
.h-File
#include <iostream>
#include <string>
using namespace std;
#ifndef _ACCOUNT_H
#define _ACCOUNT_H
class account
{
private:
string name;
int accNumber;
int number= 100000;
double balance;
double limit;
public:
void setLimit(double limit);
void deposit(double amount);
bool withdraw(double amount);
void printBalance();
account(string name);
account(string name, double limit);
};
的.cpp-文件
#include <iostream>
#include <string>
#include "account.h"
using namespace std;
account::account(string name) {
this->name= name;
accNumber= number;
number++;
balance= 0;
limit = 0;
}
account::account(string name, double amount) {
this->name= name;
accNumber = number;
number++;
balance= 0;
limit = amount;
}
void account::setLimit(double limit) {
this->limit = limit;
}
.
.
.
.
.
答案 0 :(得分:0)
您将number
定义为一个简单的成员。如果您希望它是类变量,则必须将number
更改为
.h-File
class account {
static int number;
};
.cpp-File
int account::number = 100000;
答案 1 :(得分:0)
让number
成为static
数据成员,并在构造函数中使用accNumber
初始化number++
。
答案 2 :(得分:0)
您可以使用静态变量执行此操作。
这是一个例子:
A.H
class A {
public:
A();
int getId() {
cout << count_s;
}
private:
int id_;
static int count_s;
}
A.cpp
int A::count_s = 100000;
A::A() : id_(count_s++) {}