Сап фрилансера 300к\нс.Делаю практику по с++.В условие сказано что надо сделать конструктор и деструктор.Нахуя они вообще надо? И так всё работает.Пикрандом.
бумп
бамп
Смотри, иногда класс нужно "подготовить" т.е сконструировать. Допустим, если некоторые поля в нем динамические.(например массив). То просто так ты его не сгенеришь, его надо создать через new. Аналогично с деструктором, только теперь ты не можешь просто так уничтожить объектов тебе точно также надо удалитьтс помощью delete.
>>142779674хорошо.class perest_masiv { float x[200],y[200]; int n,i,m;public: void vvod_masiv(int nn,int z); void reverd(); void vuv_masiv(int z);}void perest_masiv::vvod_masiv(int nn,int z) {if(z==1){ n=nn; Form1->Memo1->Lines->Add("передаано "+IntToStr(n)); for(i=0;i<n;i++) x=StrToFloat(Form1->StringGrid1->Cells[1][i+1]); Form1->Memo1->Lines->Add("введення масиву 1 виконано");}Если выше мой класс. Где в нём конструктор и где деструктор?Я вообще эту тему не понял.
>>142779809нигде.Бля шо за названия методов как у уебана
>>142779402 (OP)Лучше послушай мьюсик инструктортолько первый альбом
>>142779402 (OP)Погугли блять, пидор ты ебаный.
>>142782766Т.е. выконано - передано тебя не смутило?
>>142779402 (OP)Бля, парень, это гуглицо за 10 минут. Конструктор нужен, чтобы быстрее создавать переменную данного класса с заполненными полями, уметь создавать переменную на основе другой и передавать переменные функциям и обратно. И еще часто нужно, чтоб определенное поле дефолтно принимало определенное значение в начале, например int b создавался с нулем. А деструктор нужен, чтобы подчищать за собой динамическую память
Когда обращаешься к классу срабатывает то что в конструкторе, потом все что ты понаписывал и в конце деструктор
Настоящий С++ программист вкатывается в тред. Отвечу на адекватные вопросы.
>>142779402 (OP)Сука, май айс...Конструктор вызывается при создании экземпляра объекта. Т.е. когда ты делаешь себе переменную своего класса 9/b/, например. perest_masiv N - при таком объявлении вызывается конструктор. Конструктор может быть няшным - тогда при создании экземпляра класса его можно сразу чем нибудь инициализировать. Наверное твой препод хочет от тебя, дауна, чтобы ты понимал, что программирование - не твоя свободная касса еще качает птичьи гнёзда. Я кончил.
>>142784719>>142784823бвахахахахахалучше б вы оба молчали"обращаешься к классу", бгггк классу твоя училка обращается
>>142785010это так учат говорить "экземпляр объекта"?объект это есть экземпляр классачо вы ОПу мозги полощете?говорите проще
>>142785074Ебало то подзавали, я все по делу написал, чтоб даже таким даунам как оп или ты было понятно
>>142785119Согласен. Проще ему книжку почитать. Я когда учился кодить - мля учился по сраному бейсику 80х годов на спектруме, литературы было не достать. Про конструкторы и деструкторы и динамическое выделение памяти, вот это всё - просто бредил, когда в техникум поступил. У ОПа есть интернет, препод, одногруппники - а он идет и спрашивает на двач про конструкторы.
>>142785074Когда уже таких как ты расстреливать начнут?
>>142785259Про экземпляр объекта - обьебался, когда редактировал псто.
>>142785169это вот это ты по делу написал?>Конструктор нужен, чтобы быстрее создавать переменную данного классаили вот это?>и в конце деструкторты, хуесосина, не можешь даже в родной для тебя русский язык. куда ты лезешь прочие языки объяснять?
>>142785273никогда, очевиднот.е. тогда же, когда тебе начнут повышать зарплату
>>142785259ОП шли нахуй вот таких петухов. И не вздумай тратить свое время на чтение книг изза хуйни - эту мастурбацию стветуют анонисты. Я тебе написал конструктор - первое что срабатывает. Деструктор - последнее. Между ними твой код
>>142785259согласен
>>142779402 (OP)Не забудь '=' переопределить.
>>142785314не он.ну очевидно, что конструктор может помочь тебе создать переменную данного класса быстрее, хотя его основное назначение несколько иное.И да, деструктор в конце.
>>142785314Там, блядь, написанно: что быстрее создавать с заполненными полями, глазоеб ты ебливый
>>142785369ты, судя по всему, тоже "кодить" "научился" на двачессу на вас с ОПом
>>142785399конструктор есть всегда, еб твою матьдаже если ты его не напишешь, он все равно будетон не для того, чтобы "делать что-то быстрее"конструктор нужен для того, чтобы объект создавался _правильно_, а не "быстрее"в конце чего?если ты сейчас за пять минут не напишешь код, при котором у тебя объект создатся, а деструктор "в конце" не вызовется, то ты пиздабол, и не надо пытаться кого-то учить плюсама если напишешь (ну, это же нехитрое дело, да?), то сам себя поправишь, что может, и в конце, а может и не быть в конце. это как у ОПа хватит внимательности правильно с объектами работать
>>142785421ты просто мудак, который не понимает, зачем нужен конструктор, который ты пишешь рукамипоэтому твое объяснение больше похоже на пердеж твоей мамки, чем на полезный ответ ОПу
>>142785434Я все птавильно написал, зануда ты дотошный. Предлогаешь вместо простого ответа изучить 100500 дисциплин и философию мирозбания дабы показать какое многогранное твое хобби и повысить этим свое чсв
>>142785604ты упоролся, или в глаза ебешься? тебе ж два раза сказали, что конструктор с параметрами позволяет быстрее писать код. Не надо лишней ебалы.a = new( хуемое )a = new( новоехуемое )в какой момент деструктор первого объекта сработает?
>>142779402 (OP)чтобы понять, на хера нужны конструктор и деструктор, тебе спера надо понять1. динамическую работу с памятью2. некоторые азы объектного программирования3. особенности реализации ООП в С++думаю, что для пункты 2 и 3 для твоей нужды вполне покроет книжка "thinking in c++". Насколько я помню, там разжевывается. И поясняется что, зачем, почему, и как не надо делатьСтрауструпа тебе читать, очевидно, на текущем этапе своего развития бесполезно, только время потратишь. Кернигана с Ричи, пожалуй, тожену, или у гугла спрашивай, а не на дваче
>>142785642Хуясе, ты еще ни одно из моих утверждений не опроверг, но уже кукарекаешь, как пидорюха. Либо говори, в чем я ошибся, что не написал, либо нахуй с двачей
>>142785759Поссал на бесполезный мусор вместо ответа
>>142785932В конце он все таки высказал правильную мысль
>>142785755я ебусь в твои глаза, даконструктор (хоть с параметрами, хоть без) позволяет не "быстрее писать код", а "правильно писать код"вижу, что ты безграмотный второклассник.смотри, какое у меня безграничное терпение, ща я тебе распердолю:1. если у тебя есть единственный конструктор YaYebalTvoyuMamashu(int mnogoRaz), это значит не то, что тебе будет быстрее создать объект с какой-то там переменной, а то, что ты можешь создать этот объект ТОЛЬКО ТАК, ЕБ ТВОЮ МАТЬ! при любой попытке создать объект конструктором без параметра или конструктором с тремя параметрами компилятор пошлет тебя на хуй. Еще раз, дело не в быстроте, а в контракте класса - я позволяю создавать объект, только указав сколько раз выебали твою мамашу. Потому что я считаю, что так надо. А не потому что так быстрее.2. в твоем коде деструктор не вызовется ни один, и никогда. Ебаный программист с дипломом двача не доучил, что динамически созданные объекты следует уничтожать оператором delete, который и вызовет деструктор. А раз ты delete не написал, то и деструктор не вызвался, память утекла.А все потому, что вместо того, чтобы хоть одну книжку прочесть, ты на дваче из себя строишь охуенного специалиста.Засунь свой язык себе же в жопу и съеби из треда. Или читай молча взрослых умных людей.
>>142785787ты никому на хуй не сдался, что-то твое опровергатьнаверное, даже твои родители уже заебались с тобой разговаривать
>>142785932что-то я в твоем высере не вижу галки ОПаответ я писал ему, а не тебе-хуесосу
>>142786057Ну делит для второго я тебе предположим не написал потому, что спрашивал про первый в своем ответе. >при котором у тебя объект создатся, а деструктор "в конце" не вызоветсяА про мозгоеблю - деструктор вызывается тогда, когда ТЫ уничтожаешь объект. Я тебе код по твоему ТЗ предложил. Если у тебя есть один конструктор - ясен хуй, что ты не сможешь создать объект без параметров. Или это по твоему кому-то не ясно? Ну может ОПу, и то ненадолго.По параметрам по умолчанию - они тоже контракт класса? когда ты позволяешь не указывать какой-то из них? Это банальное удобство, чтобы тебе не вызывать создание окна с дохуялиардом параметров, сделать тупой конструктор с тремя. Пиздец, ну вот нахуй так жить?
>>142786419во-первых, признаю,что тебя не понял, и прошу прощения за лишний наездво-вторых>Если у тебя есть один конструктор - ясен хуй, что ты не сможешь создать объект без параметров. Или это по твоему кому-то не ясно?ОП спрашивает, зачем вообще нужны конструктор и деструктор. Ему что-то ясно, по-твоему?Я ругал анонов, за то, что они несут хуйню, которая составляет 1% правильного ответа. А сама по себе является неправильным. контракт класса это все, что public, даже тот конструктор, который ты не напишешь, а он все равно будет (потому что он по цепочке пропихнет конструкторы всех родителей)параметры по умолчанию это охуеть, какой контракт класса! потому что, по сути, у тебя получаются несколько сигнатур.хотя, по твоему дальнейшему описанию, я подозреваю, что, говоря о параметрах по умолчанию, ты имел в виду что-то другоееще раз. конструктор с тремя параметрами, а не с десятью, ты делаешь не для того, чтобы юзеру класса было быстрее писать его код, а потому что считаешь, что такой конструктор будет уместен, т.е. правиленя вообще не понимаю принципа "быстрее писать код"это ты переменные класса сделай паблик и забей на геттеры/сеттеры. до хуя времени сэкономишь на наборе get, set и скобочек
что характерно, ОП уже давно спит, ему насрать на тред
>>142786768Вот блин, я к этому не был готов. Ну и я признаю, что я не программист на крестах, я их в колледже 15 лет назад учил :3 Я вообще IT манагер. Но оп - ленив и базы ему не хватает. Про инкапсуляцию я спорить не могу, т.к. она - святое.
ОП, не нужен тебе С++, на сегодня на нем пишут в основном там, где предметная область непроста. И ты, боюсь, ее не осилишь.В остальном это ебаное легаси, о которое шквариться не стоит.Учи нормальные языки для энетрпрайза и крудошлепства: джаву там, дотнет, пистон. Задрачивай базы данных, фреймворки, вот это все. Плюсы слишком гибки, будешь писать страшное говно и подвывать от неудобства.