Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 11:31 19.05.24 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | 4 | >> (покажи всички)
Тема C++ мизерии  
Автор zaphod (void *lpNothing)
Публикувано15.09.06 13:54



значи имам клас, вътрешен за друг клас (да го означим А::В), декларирани в хедър Н. в друг хедър, да го наречем Х, който не инклудва Н искам да декларирам указател към А::В. ако беше само към А, проблем няма - просто пиша нейде отпреде class A; и си декларирам указатели на корем (но не и инстанции). обаче номера просто не минава за вътрешен клас. инклудването на хедъра Н в Х е решение, но е нежелателно, понеже Х е ползван в много файлове, и всяка промяна в Н ще доведе до ненужна прекомпилация на всичките тях. с class AB в Х и typedef А::В АВ в Н също не става - щом види class AB, компилатора очаква истински клас АВ, а не предефиниран тип. изкарването на клас В като външен също ще реши проблема, но е нежелателно, понеже не искам заради подобни глупости да развалям структурата на проекта и да си пълня уъткспейса с мизерни ефрейторски класчета.
някакви идеи?




NE SUTOR ULTRA CREPIDAM


Тема Re: C++ мизериинови [re: zaphod]  
Авторmamaligabg (Нерегистриран)
Публикувано15.09.06 14:09



май не може да предекларираш вътрешен клас
имаше някъде в нета много подробна статиика по този въпрос, ама не се сещам как я намерих.



Тема намерих янови [re: mamaligabg]  
Авторmamaligabg (Нерегистриран)
Публикувано15.09.06 14:22



http://www.goingware.com/tips/parameters/notrequired.html

цитат от нея
"Unfortunately this does not work to declare a member class (also known as a nested class) as an incomplete type even though the syntax for using them is similar - you can reopen a namespace but not a class."



Тема Re: намерих янови [re: mamaligabg]  
Авторzaphod (Нерегистриран)
Публикувано15.09.06 20:42



ха, учудва ме че неймспейса може да се преотваря. както и да е, аз се примрих вече. сложих void* вместо A::B* и после каствах където трябва. за щастие не е на много места - 5 или 6. но се надявах за някаква хитрина, щото не винаги мога да се измъкна с void*.



Тема Re: C++ мизериинови [re: zaphod]  
АвторПeнчo (Нерегистриран)
Публикувано15.09.06 21:04



Само от любопитство, защо трябва да е вложен клас?



Тема Re: намерих янови [re: zaphod]  
Автор mamaligabg (непознат )
Публикувано15.09.06 21:11



не съм сигурен че заради избягването на един хедър си заслужава да правиш това с void*. ама ти си знаеш :P

Редактирано от mamaligabg на 15.09.06 21:14.



Тема Re: C++ мизериинови [re: Пeнчo]  
Авторzaphod (Нерегистриран)
Публикувано15.09.06 22:18



щото му е малък пагона за да се нареди барабар с воеводите.



Тема Re: намерих янови [re: mamaligabg]  
Авторzaphod (Нерегистриран)
Публикувано15.09.06 22:22



бе честно казано за пръв път го правя. досега си инклудвах хедерите, ама нещо зех да се дразня, когато чакам по 2 минути компилация. вече взех да оптимизирам от към време за компилация...



Тема Re: C++ мизериинови [re: zaphod]  
Автор ~!@$%^amp;*()_+ (целия горен ред)
Публикувано15.09.06 23:26



на мене ми се струва, че точно със структурата имаш проблеми

смисъла на вътрешния клас е да не се вижда отвънка или го изкарай като отделен или го направи базов



Тема Re: C++ мизериинови [re: ~!@$%^amp;*()_+]  
Авторzaphod (Нерегистриран)
Публикувано16.09.06 09:47



смисъла на вътрешния клас е да не се вижда отвънка или го изкарай като отделен или го направи базов

ако това беше смисъла, нямаше да се вижда въобще, не мислиш ли? но даже да е така, и виждането навън да е следствие просто на това че писачите на компилатори са решили че не си струва да се пише код за да се закрива, щото така и така няма идиот който да почне да го ползва, то аз си държа на концепцията и ще продължавам все така. не си ли чувал "ефекта е в дефекта"? този "дефект" на компилаторите - че се виждат отвън вътрешните класове, е всъщност мощно средство за формиране на добре подреден проект, който като го отвориш във воркспейса, въобще не прави вертикален скролер и се обхваща в поглед.




Страници по тази тема: 1 | 2 | 3 | 4 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.