簡體   English   中英

C ++ ostream char **

[英]C++ ostream char**

我建了一個類Client ,我想ostream吧。 這是課程:

class Client {
    MyString id;
    MyString full_name;
    char gender;
    unsigned short age;
    unsigned short hobbies_num;
    char** hobbies_list;

這是我已經編寫的代碼:

ostream& operator<<(ostream& osc, const Client& for_print)
{
    return osc << for_print.id << endl << for_print.full_name << endl << for_print.gender << endl << for_print.age << endl << for_print.hobbies_num << endl;
}

我的問題是如何打印最后一個成員hobbies_list ,即二維字符動態數組?

使用for循環。

for (int i = 0; i < for_print.hobbies_num; i++) {
    osc << for_print.hobbies_list[i] << endl;
}

使用標准算法std::for_each

std::ostream& operator<<(std::ostream& osc, const Client& for_print)
{
    osc << for_print.id << endl << for_print.full_name << endl << for_print.gender << endl << for_print.age << endl << for_print.hobbies_num << endl;
    for_each(for_print.hobbies_list, for_print.hobbies_list + for_print.hobbies_num, [&](char* x){osc << x << endl; });
    return osc; 
}

暫無
暫無

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

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