簡體   English   中英

如何在一個 function 中返回兩個 char* class 變量?

[英]How can I return two char* class variables in one function?

我有以下 class 定義和 GetName function 應該返回全名(名字和姓氏),它們是 char*。 有人告訴我將它們連接成一個全局變量,然后在 function 中返回它,但我就是不知道該怎么做。

有人可以給我舉個例子嗎?

    class bank_Database
{
    int AccountNumber;
    std::string CNP, PhoneNumber;
    char* First_Name[256], Last_Name[256];
    float MoneyBalance;


public:
    bank_Database() {};
    void AddAccount(); //function to create an account 
    void ModifyDetails(); //function to modify name, phone and balance.
    void DisplayAccDetails(); //function to display details
    char* GetName(); //functions to get details
    const std::string Get_PhoneNumber();
    const int Get_AccNumber();
    const std::string Get_CNP();
};

是的,您可以返回兩個 arrays:

auto get() {
  std::array<std::array<char, 256>, 2> names;
  // ...

  return names;
}

或者,您可以創建一個名稱 object 並返回:

struct Name
{
  std::array<char, 256> first;
  std::array<char, 256> last;
};

auto get()
{
  Name name;
  // ...

  return name;
}

最后,您可以考慮使用std::string代替 arrays,因為它更靈活。

返回結果為 std::pairstd::string,std::string result= std::make_pair(firstname, secondname);

還考慮使用結構化綁定來使用 function 的結果

自動[第一,第二] =獲取名稱()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM