簡體   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