Определите структуру в классе в C++

Может кто-то давать мне пример о том, как определить новый тип структуры в классе в C++.

Спасибо.

51
задан templatetypedef 24 December 2018 в 11:31
поделиться

3 ответа

Примерно так:

class Class {
    // visibility will default to private unless you specify it
    struct Struct {
        //specify members here;
    };
};
74
ответ дан 7 November 2019 в 09:53
поделиться

объявить класс и вложенную структуру, вероятно, в каком-то файле заголовка

class C {
    // struct will be private without `public:` keyword
    struct S {
        // members will be public without `private:` keyword
        int sa;
        void func();
    };
    void func(S s);
};

, если вы хотите разделить реализацию / определение, возможно, в каком-нибудь файле CPP

void C::func(S s) {
    // implementation here
}
void C::S::func() { // <= note that you need the `full path` to the function
    // implementation here
}

, если вы хотите встроить реализация, другие ответы подойдут.

49
ответ дан 7 November 2019 в 09:53
поделиться

Что-то вроде:

class Tree {

 struct node {
   int data;
   node *llink;
   node *rlink;
 };
 .....
 .....
 .....
};
6
ответ дан 7 November 2019 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: