[英]How can i access my second class through the Main function?
我创建了两个类(Konto 和 Bank)。 我可以通过主 function 访问我的第一个 class(konto),但我无法访问我的第二个 class(银行)以设置/更改其值。
我的一位朋友告诉我,问题是我的代码在子文件夹中,但我真的不知道它是什么以及如何删除它。
那么如何访问我的第二类(银行)是我的问题。
#include <iostream>
#include <string>
#include <vector>
class Konto {
public:
int konto_nummer;
std::string agare;
double saldo;
double rantesats;
public:
Konto(int _nummer, std::string _agare, double _saldo, double _rantesats);
int ge_konto_nummer();
void ranteutbetalning(double r);
//~konto();
friend class Bank;
};
class Bank {
private:
std::vector<Konto> konton;
int antal_konton;
int bank();
public:
Bank(std::vector<Konto> _konton, int _antal_konton);
void skrivut();
//~Bank();
};
Bank::Bank(std::vector<Konto> _konton, int _antal_konton)
: konton{_konton}, antal_konton{_antal_konton} {}
Konto::Konto(int _nummer = 12345, std::string _agare = "Ali",
double _saldo = 500, double _rantesats = 0.07)
: konto_nummer{_nummer}, agare{_agare}, saldo{_saldo}, rantesats{
_rantesats} {}
int Konto::ge_konto_nummer() { return konto_nummer; }
void Konto::ranteutbetalning(double r = 0.07) {
rantesats = r;
saldo += (rantesats * saldo);
}
void Bank::skrivut() {
int choose;
std::cout << "Choose: " << std::endl;
std::cout << "1- Adda new account: " << std::endl;
std::cout << "2-Print ur accounts: " << std::endl;
std::cout << "3- Search for accounts: " << std::endl;
std::cout << "4-Avsluta" << std::endl;
std::cin >> choose;
}
int main() {
Konto person;
std::cout << "Account: " << person.konto_nummer << std::endl;
std::cout << "Owner: " << person.agare << std::endl;
std::cout << "saldo: " << person.saldo << std::endl;
std::cout << "Rantesats: " << person.rantesats << std::endl;
std::cout << "===============================" << std::endl;
Bank obj;
obj.skrivut();
}
您缺少默认构造函数,因此出现错误;
error: no matching function for call to Bank::Bank
只需添加这一行:
public:
Bank() {} //add the default constructor
Bank(std::vector<Konto> _konton, int _antal_konton);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.