bubu ([info]bubu) rakstīja [info]koderi kopienā,
Ar pirmo būs problēmas, ja gribēsi likt klasi std::vector konteinerā. Būs arī problēma ar objekta piešķiršanu pēc vērtības. Tb reāli tu esi aizliedzis operator = šai klasei.
Ja jau tev vajadzīgi tik daudz tie getteri, ka slinkums rakstīt getXXX() metodes, tad laiks padomāt par klases un tās izmantošanas pareizību. Es mēģinātu to funkcionalitāti, kas izmantot to tavu private_variable ienest kādas klases metodē. Jo tamdēļ jau metodes klasei izdomātas - lai kautko darītu, nevis tikai kalpotu par plikiem getteriem/setteriem - pēdējam ir izdomāts struct.
Pie tam tev līka sintakse ;) Boo() : ro_var(var) {}

Par otru - operator = nav labi atgriezt void. Vajadzētu atgriezt referenci uz *this.
Un vai šādi tev nesanāks rakstīt vairāk koda nekā uzrakstīt to pašu veco labo getteri un setteri - void setTilpums(int x) un int getTilpums() const. Gan mazāk jāraksta, gan visiem skaidrs, kas ar to domāts un nav jāpēta dīvainas klases, un ko ar tām ir jāiesāk.
Vēl arī - ja nu pēkšņi mainīsies prasības un uzstādot tilpumu nāksies padod divas vērtības (pudeles tilpums un pudeles izmērs) - tad operator = nevarēs saņemt divas vērtības tik vienkārši, ja vien neizmantos vēl kādu citu papildus klasi, taču setTilpums metodes gadījumā nāksies vienkārši pielikt vēl vienu argumentu.
Nu bet tas viss pēc vajadzības. Ja nu ir izdomāts, ka tā vajag, tad vajag. Tik mainīgā tipu gan neliec tā nosaukumā. Visi taču zin, cik Hungarian notation C++'ā ir īvils :)


(Lasīt komentārus)

Nopūsties:

No:
Lietotājvārds:
Parole:
Ievadi te 'qws' (liidzeklis pret spambotiem):
Temats:
Tematā HTML ir aizliegts
  
Ziņa:

Gandrīz jau aizmirsu pateikt – šis lietotājs ir ieslēdzis IP adrešu noglabāšanu. Operatore Nr. 65.
Neesi iežurnalējies. Iežurnalēties?