繁体   English   中英

如何通过主 function 访问我的第二个 class?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM