Определение массива типа Class - PullRequest
0 голосов
/ 19 марта 2012

Я пытаюсь определить массив типа Class для своей домашней работы.ClassB и classC определены внутри другого classA, и я должен определить массив, который определен внутри classC типа classB.Ниже приведен код, который я пишу.

//main.cpp
...
//cop.h
class cop
{
    public:
        ....
        class Person
        {
            private:
                static char name;
                static char age;
                static char gender;
        };
        class Station
        {
            public:
                Station();
                ~Station();
            private:
                Person personArray[20];
            protected:
                void visit();

        };

//cop.cpp
char cop::Person::name;
char cop::Person::age;
char cop::Person::gender;

cop::Station::Station(){}
cop::Station::~Station(){}
Person cop::Station::personArray[20];

Я получаю следующую ОШИБКУ;

«Персона» не называет тип

1 Ответ

1 голос
/ 19 марта 2012

Прежде всего (как я укажу позже) поля Person не должны быть static.После этого удалите следующие строки:

char cop::Person::name;
char cop::Person::age;
char cop::Person::gender;

Person cop::Station::personArray[20];

Правильно разработанный код должен выглядеть следующим образом:

    // Person.h
    class Person
    {
        public:
            char name;
            char age;
            char gender;
    };

    // Station.h
    class Station
    {
        public:
            Station();
            ~Station();
        private:
            Person personArray[20];
        protected:
            void visit();

    };

    // Station.cpp
    Station::Station()
    {
        for (int i = 0; i < 20; i++)
        {
            personArray[i].age = ...;
        }
    }

Кстати: объявление всех полей класса Person static обязательно удостоверится, что все люди в вашем массиве имеют одинаковые имя, возраст и пол ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...