sergsd
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Bloody_Nokia_Adept, благодарю за ответ. Цитата: Бредовая ситуация... Если не объявлен конструктор, то компилятором используется конструктор по умолчанию и это никак не сказывается на вызове деструктора - сколько объектов создано, столько деструкторов и будет вызвано. | Так вот мне и было(и есть) не понятно почему конструктор влияет на вызов деструктора. Если Вам несложно, могли бы Вы написать результат выполнения такого кода в вашем компиляторе, так как сам под рукой другого не имею. Хочу убедиться, что проблема действительно в BC++ 3.1 . Код: #include <iostream> #include <cconio> using namespace std; class ob { int x,y; static int i; public: void set_k(int a,int b) { x=a; y=b; } void thisis() { ob *name=this; cout<<name<<endl; } void show() { cout<<"x+y="<<x+y<<"\n"; } ~ob() {ob *name=this; cout<<"деструктор "<<name<<"\n"; } }; ob get() { ob s; cout<<"this in get()="; s.thisis(); int x,y; cout<<"x="; cin>>x; cout<<"y="; cin>>y; s.set_k(x,y); return s; } int main() { clrscr(); ob k; k=get(); k.show(); while(!kbhit()); return 0; } Цитата: Мне не понятно желание изучать С++ с использованием этой среды и как альтернативу мог бы предложить вариант компилятора MinGW v3.1 (порт gcc v3.1 на платформу DOS/Windows) в связке с Far/Colorer (редактор с подсветкой синтаксиса С++). А в качестве stl использовать stlport или на худой конец sgi/hp (они не хуже stlport, но он на них основан и нормально портирован на большинство платформ). | Это объясняется легко. Во-первых, я просто привык к нему, изучая в нем азы C. Во-вторых, мне нравится его среда и нетормознутость, как более поздних windows-версий. И наконец, начинающему довольно сложно определиться и выбрать какой-либо из множества компиляторов, например, что выбрать Buidler С++ или Visual С++ под windows. Выбор на будущее я сделал на данный момент такой: Watcom в DOS/WIN и gcc в UNIX/Linux, хотя думаю, что сюда придется добавить один из вышенаписанных. Но так в UNIX/Linux я еще далеко даже не уверенный пользователь, то gcc решил отложит до тех пор, пока нормально освою Linux, а с Watcom-ом довольно долго разбираться, да и литературы по нему не имеется, поэтому и решил, что пока, чтобы освоить основы ООП в C++ сойдет и ВС++ 3.1. Хотя совсем недавно пытался поставить gcc под windows c http://www.cygwin.com/, но это, как я понял, немного больше, чем просто компилятор. Правда посмотреть, что он из себя представляет так и не удалось: щелкнул по ссылке на сайт "Install Cygwin now" установились какие-то файлы, но ничего работающего в них не нашел Потом прочитал, что cygwin занимает 800мб(может чуть меньше, точно не помню) и понял, то, что я скачал далеко не cygwin, а скачать через модем полную версию для меня нереально, да и на сайте cygwin.com ссылка вроде только на то, что я установил, поэтому на cygwin я просто забил и решил отлажить gcc до Linux или до тех пор, пока поумнею. О MinGW v3.1 ничего не слышал, надеюсь, с ним меньше гемороя, чем с cygwin, обязательно посмотрю(если есть ссылки на русскоязычную доку по нему, буду Вам благодарен, если Вы их здесь напишите) Извиняюсь, а что такое stl ? (можно ответить и линком ) |