Сохранен 45
https://2ch.hk/b/res/142779402.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 22/12/16 Чтв 23:45:14 #1 №142779402 
14824395145740.jpg
Сап фрилансера 300к\нс.
Делаю практику по с++.
В условие сказано что надо сделать конструктор и деструктор.
Нахуя они вообще надо? И так всё работает.
Пикрандом.
Аноним 22/12/16 Чтв 23:46:20 #2 №142779461 
бумп
Аноним 22/12/16 Чтв 23:47:34 #3 №142779528 
бамп
Аноним 22/12/16 Чтв 23:49:16 #4 №142779628 
бамп
Аноним 22/12/16 Чтв 23:50:11 #5 №142779674 
Смотри, иногда класс нужно "подготовить" т.е сконструировать. Допустим, если некоторые поля в нем динамические.(например массив). То просто так ты его не сгенеришь, его надо создать через new.
Аналогично с деструктором, только теперь ты не можешь просто так уничтожить объектов тебе точно также надо удалитьтс помощью delete.
Аноним 22/12/16 Чтв 23:52:19 #6 №142779809 
>>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 виконано");}

Если выше мой класс. Где в нём конструктор и где деструктор?
Я вообще эту тему не понял.
Аноним 22/12/16 Чтв 23:55:50 #7 №142780029 
бамп
Аноним 23/12/16 Птн 00:43:31 #8 №142782766 
>>142779809
нигде.Бля шо за названия методов как у уебана
Аноним 23/12/16 Птн 01:21:33 #9 №142784641 
>>142779402 (OP)
Лучше послушай мьюсик инструктортолько первый альбом
Аноним 23/12/16 Птн 01:22:03 #10 №142784672 
>>142779402 (OP)
Погугли блять, пидор ты ебаный.
Аноним 23/12/16 Птн 01:22:52 #11 №142784718 
>>142782766
Т.е. выконано - передано тебя не смутило?
Аноним 23/12/16 Птн 01:22:54 #12 №142784719 
>>142779402 (OP)
Бля, парень, это гуглицо за 10 минут. Конструктор нужен, чтобы быстрее создавать переменную данного класса с заполненными полями, уметь создавать переменную на основе другой и передавать переменные функциям и обратно. И еще часто нужно, чтоб определенное поле дефолтно принимало определенное значение в начале, например int b создавался с
нулем. А деструктор нужен, чтобы подчищать за собой динамическую память
Аноним 23/12/16 Птн 01:25:03 #13 №142784823 
Когда обращаешься к классу срабатывает то что в конструкторе, потом все что ты понаписывал и в конце деструктор
Аноним 23/12/16 Птн 01:25:27 #14 №142784856 
Настоящий С++ программист вкатывается в тред. Отвечу на адекватные вопросы.
Аноним 23/12/16 Птн 01:28:49 #15 №142785010 
14824457292140.jpg
>>142779402 (OP)
Сука, май айс...

Конструктор вызывается при создании экземпляра объекта. Т.е. когда ты делаешь себе переменную своего класса 9/b/, например. perest_masiv N - при таком объявлении вызывается конструктор.
Конструктор может быть няшным - тогда при создании экземпляра класса его можно сразу чем нибудь инициализировать. Наверное твой препод хочет от тебя, дауна, чтобы ты понимал, что программирование - не твоя свободная касса еще качает птичьи гнёзда. Я кончил.
Аноним 23/12/16 Птн 01:30:18 #16 №142785074 
>>142784719
>>142784823
бвахахахахаха
лучше б вы оба молчали
"обращаешься к классу", бггг
к классу твоя училка обращается
Аноним 23/12/16 Птн 01:31:27 #17 №142785119 
>>142785010
это так учат говорить "экземпляр объекта"?
объект это есть экземпляр класса
чо вы ОПу мозги полощете?
говорите проще
Аноним 23/12/16 Птн 01:32:33 #18 №142785169 
>>142785074

Ебало то подзавали, я все по делу написал, чтоб даже таким даунам как оп или ты было понятно
Аноним 23/12/16 Птн 01:34:25 #19 №142785259 
>>142785119
Согласен. Проще ему книжку почитать. Я когда учился кодить - мля учился по сраному бейсику 80х годов на спектруме, литературы было не достать. Про конструкторы и деструкторы и динамическое выделение памяти, вот это всё - просто бредил, когда в техникум поступил. У ОПа есть интернет, препод, одногруппники - а он идет и спрашивает на двач про конструкторы.
Аноним 23/12/16 Птн 01:34:48 #20 №142785273 
>>142785074
Когда уже таких как ты расстреливать начнут?
Аноним 23/12/16 Птн 01:35:29 #21 №142785301 
>>142785259
Про экземпляр объекта - обьебался, когда редактировал псто.
Аноним 23/12/16 Птн 01:35:44 #22 №142785314 
>>142785169
это вот это ты по делу написал?
>Конструктор нужен, чтобы быстрее создавать переменную данного класса
или вот это?
>и в конце деструктор

ты, хуесосина, не можешь даже в родной для тебя русский язык. куда ты лезешь прочие языки объяснять?
Аноним 23/12/16 Птн 01:36:29 #23 №142785340 
>>142785273
никогда, очевидно
т.е. тогда же, когда тебе начнут повышать зарплату
Аноним 23/12/16 Птн 01:37:03 #24 №142785369 
>>142785259
ОП шли нахуй вот таких петухов. И не вздумай тратить свое время на чтение книг изза хуйни - эту мастурбацию стветуют анонисты. Я тебе написал конструктор - первое что срабатывает. Деструктор - последнее. Между ними твой код
Аноним 23/12/16 Птн 01:37:30 #25 №142785394 
>>142785259
согласен
Аноним 23/12/16 Птн 01:37:31 #26 №142785396 

>>142779402 (OP)
Не забудь '=' переопределить.
Аноним 23/12/16 Птн 01:37:36 #27 №142785399 
>>142785314
не он.

ну очевидно, что конструктор может помочь тебе создать переменную данного класса быстрее, хотя его основное назначение несколько иное.

И да, деструктор в конце.
Аноним 23/12/16 Птн 01:38:16 #28 №142785421 
>>142785314
Там, блядь, написанно: что быстрее создавать с заполненными полями, глазоеб ты ебливый
Аноним 23/12/16 Птн 01:38:30 #29 №142785434 
>>142785369
ты, судя по всему, тоже "кодить" "научился" на дваче
ссу на вас с ОПом
Аноним 23/12/16 Птн 01:42:19 #30 №142785604 
>>142785399
конструктор есть всегда, еб твою мать
даже если ты его не напишешь, он все равно будет
он не для того, чтобы "делать что-то быстрее"
конструктор нужен для того, чтобы объект создавался _правильно_, а не "быстрее"

в конце чего?
если ты сейчас за пять минут не напишешь код, при котором у тебя объект создатся, а деструктор "в конце" не вызовется, то ты пиздабол, и не надо пытаться кого-то учить плюсам
а если напишешь (ну, это же нехитрое дело, да?), то сам себя поправишь, что может, и в конце, а может и не быть в конце. это как у ОПа хватит внимательности правильно с объектами работать
Аноним 23/12/16 Птн 01:43:10 #31 №142785642 
>>142785421
ты просто мудак, который не понимает, зачем нужен конструктор, который ты пишешь руками
поэтому твое объяснение больше похоже на пердеж твоей мамки, чем на полезный ответ ОПу
Аноним 23/12/16 Птн 01:44:08 #32 №142785677 
>>142785434
Я все птавильно написал, зануда ты дотошный. Предлогаешь вместо простого ответа изучить 100500 дисциплин и философию мирозбания дабы показать какое многогранное твое хобби и повысить этим свое чсв
Аноним 23/12/16 Птн 01:46:07 #33 №142785755 
>>142785604
ты упоролся, или в глаза ебешься? тебе ж два раза сказали, что конструктор с параметрами позволяет быстрее писать код. Не надо лишней ебалы.

a = new( хуемое )
a = new( новоехуемое )

в какой момент деструктор первого объекта сработает?
Аноним 23/12/16 Птн 01:46:11 #34 №142785759 
>>142779402 (OP)
чтобы понять, на хера нужны конструктор и деструктор, тебе спера надо понять
1. динамическую работу с памятью
2. некоторые азы объектного программирования
3. особенности реализации ООП в С++

думаю, что для пункты 2 и 3 для твоей нужды вполне покроет книжка "thinking in c++". Насколько я помню, там разжевывается. И поясняется что, зачем, почему, и как не надо делать

Страуструпа тебе читать, очевидно, на текущем этапе своего развития бесполезно, только время потратишь. Кернигана с Ричи, пожалуй, тоже

ну, или у гугла спрашивай, а не на дваче
Аноним 23/12/16 Птн 01:46:45 #35 №142785787 
>>142785642
Хуясе, ты еще ни одно из моих утверждений не опроверг, но уже кукарекаешь, как пидорюха. Либо говори, в чем я ошибся, что не написал, либо нахуй с двачей
Аноним 23/12/16 Птн 01:50:04 #36 №142785932 
>>142785759
Поссал на бесполезный мусор вместо ответа
Аноним 23/12/16 Птн 01:51:44 #37 №142786007 
>>142785932
В конце он все таки высказал правильную мысль
Аноним 23/12/16 Птн 01:52:56 #38 №142786057 
>>142785755
я ебусь в твои глаза, да
конструктор (хоть с параметрами, хоть без) позволяет не "быстрее писать код", а "правильно писать код"

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

1. если у тебя есть единственный конструктор YaYebalTvoyuMamashu(int mnogoRaz), это значит не то, что тебе будет быстрее создать объект с какой-то там переменной, а то, что ты можешь создать этот объект ТОЛЬКО ТАК, ЕБ ТВОЮ МАТЬ! при любой попытке создать объект конструктором без параметра или конструктором с тремя параметрами компилятор пошлет тебя на хуй. Еще раз, дело не в быстроте, а в контракте класса - я позволяю создавать объект, только указав сколько раз выебали твою мамашу. Потому что я считаю, что так надо. А не потому что так быстрее.

2. в твоем коде деструктор не вызовется ни один, и никогда. Ебаный программист с дипломом двача не доучил, что динамически созданные объекты следует уничтожать оператором delete, который и вызовет деструктор. А раз ты delete не написал, то и деструктор не вызвался, память утекла.
А все потому, что вместо того, чтобы хоть одну книжку прочесть, ты на дваче из себя строишь охуенного специалиста.

Засунь свой язык себе же в жопу и съеби из треда. Или читай молча взрослых умных людей.
Аноним 23/12/16 Птн 01:53:29 #39 №142786084 
>>142785787
ты никому на хуй не сдался, что-то твое опровергать
наверное, даже твои родители уже заебались с тобой разговаривать
Аноним 23/12/16 Птн 01:54:27 #40 №142786144 
>>142785932
что-то я в твоем высере не вижу галки ОПа
ответ я писал ему, а не тебе-хуесосу
Аноним 23/12/16 Птн 02:00:39 #41 №142786419 
>>142786057
Ну делит для второго я тебе предположим не написал потому, что спрашивал про первый в своем ответе.

>при котором у тебя объект создатся, а деструктор "в конце" не вызовется

А про мозгоеблю - деструктор вызывается тогда, когда ТЫ уничтожаешь объект. Я тебе код по твоему ТЗ предложил.


Если у тебя есть один конструктор - ясен хуй, что ты не сможешь создать объект без параметров. Или это по твоему кому-то не ясно? Ну может ОПу, и то ненадолго.

По параметрам по умолчанию - они тоже контракт класса? когда ты позволяешь не указывать какой-то из них? Это банальное удобство, чтобы тебе не вызывать создание окна с дохуялиардом параметров, сделать тупой конструктор с тремя.

Пиздец, ну вот нахуй так жить?
Аноним 23/12/16 Птн 02:10:16 #42 №142786768 
>>142786419
во-первых, признаю,что тебя не понял, и прошу прощения за лишний наезд

во-вторых
>Если у тебя есть один конструктор - ясен хуй, что ты не сможешь создать объект без параметров. Или это по твоему кому-то не ясно?
ОП спрашивает, зачем вообще нужны конструктор и деструктор. Ему что-то ясно, по-твоему?
Я ругал анонов, за то, что они несут хуйню, которая составляет 1% правильного ответа. А сама по себе является неправильным.

контракт класса это все, что public, даже тот конструктор, который ты не напишешь, а он все равно будет (потому что он по цепочке пропихнет конструкторы всех родителей)

параметры по умолчанию это охуеть, какой контракт класса! потому что, по сути, у тебя получаются несколько сигнатур.
хотя, по твоему дальнейшему описанию, я подозреваю, что, говоря о параметрах по умолчанию, ты имел в виду что-то другое

еще раз. конструктор с тремя параметрами, а не с десятью, ты делаешь не для того, чтобы юзеру класса было быстрее писать его код, а потому что считаешь, что такой конструктор будет уместен, т.е. правилен

я вообще не понимаю принципа "быстрее писать код"
это ты переменные класса сделай паблик и забей на геттеры/сеттеры. до хуя времени сэкономишь на наборе get, set и скобочек
Аноним 23/12/16 Птн 02:12:00 #43 №142786833 
что характерно, ОП уже давно спит, ему насрать на тред
Аноним 23/12/16 Птн 02:17:20 #44 №142787010 
>>142786768
Вот блин, я к этому не был готов. Ну и я признаю, что я не программист на крестах, я их в колледже 15 лет назад учил :3 Я вообще IT манагер. Но оп - ленив и базы ему не хватает.
Про инкапсуляцию я спорить не могу, т.к. она - святое.
Аноним 23/12/16 Птн 02:26:26 #45 №142787357 
ОП, не нужен тебе С++, на сегодня на нем пишут в основном там, где предметная область непроста. И ты, боюсь, ее не осилишь.
В остальном это ебаное легаси, о которое шквариться не стоит.
Учи нормальные языки для энетрпрайза и крудошлепства: джаву там, дотнет, пистон. Задрачивай базы данных, фреймворки, вот это все. Плюсы слишком гибки, будешь писать страшное говно и подвывать от неудобства.
comments powered by Disqus