Гость Опубликовано 2 марта, 2002 Жалоба Опубликовано 2 марта, 2002 Други пАмагите (( Начал изучать статические переменные, но проблема (( Прога компилится и линкуется без ошибок! но призапуске .ехе Виндоза 95 пишет "Программа выполнила недопустимую операцию и будет закрыта"! шо робыть???? Вот код: #include class Cat { public: Cat(int age):itsAge(age){HowManyCats++;} virtual ~Cat(){HowManyCats--;} virtual int GetAge(){return itsAge;} virtual void SetAge(int age){itsAge=age;} static int HowManyCats; private: int itsAge; }; int Cat::HowManyCats=0; int main () { const int MaxCats=5; int i; Cat* CatHouse[MaxCats]; for(i=0;i { cout<<"There are "; cout< cout<<" cats left!\n"; cout<<"Deleting the one which is "; cout<GetAge(); cout<<" years old\n"; delete CatHouse; CatHouse=0; } return 0; } Заранее благодарен за ответ....... Цитата
Гость Опубликовано 12 марта, 2002 Жалоба Опубликовано 12 марта, 2002 наверное как-то нехорошо использовать указатели на неинициализированные экземпляры класса так наверное будет правильнее >> #include \ class Cat { public: Cat(int age):itsAge(age){HowManyCats++;} virtual ~Cat(){HowManyCats--;} virtual int GetAge(){return itsAge;} virtual void SetAge(int age){itsAge=age;} static int HowManyCats; private: int itsAge; }; int Cat::HowManyCats=0; int main () { const int MaxCats=5; int i; Cat* CatHouse[MaxCats]; for(i=0;i { // -->> CatHouse = new Cat(i); cout<<"There are "; cout< cout<<" cats left!\n"; cout<<"Deleting the one which is "; cout<GetAge(); cout<<" years old\n"; // || // VV CatHouse=NULL; } //-->> for (i=0; i //-->> delete CatHouse; return 0; } Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.