Pereiti prie turinio

C++ dinamine atmintis main'e


Rekomenduojami pranešimai

Dekui, turiu dar viena klausima. Ar kai klasese kazkoki Imti metoda turiu ar butinai reikia pabrezti kad jis yra const? pvz

class AutoElementas{
private:
AutoDuomenys duom;
AutoElementas *kitas;
public:
AutoElementas *ImtiRysi(){return kitas;}
       cont AutoElementas *imtiRysi() const {return kitas;}
};

Ar uztenka tik vieno ImtiRysi metodo?

Redagavo saltis77
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dekui, turiu dar viena klausima. Ar kai klasese kazkoki Imti metoda turiu ar butinai reikia pabrezti kad jis yra const? pvz

class AutoElementas{
private:
AutoDuomenys duom;
AutoElementas *kitas;
public:
AutoElementas *ImtiRysi(){return kitas;}
       cont AutoElementas *imtiRysi() const {return kitas;}
};

Ar uztenka tik vieno ImtiRysi metodo?

 

Šiuo atveju abu metodai yra būtini, nes skiriasi grąžinamas objektas (AutoElementas != const AutoElementas). Kitu atveju, jei nėra jokio skirtumo, tai dviejų atskirų metodų rašyti nereikia.

 

Pavyzdžiui:

int imtiSkaiciu() {
   a++; 
   return a;
}
int imtiSkaiciu() const {
   return a;
}

 

Šiuo atveju sujungti negali nes atliekami skirtingi veiksmai priklausomai nuo to, ar metodas kviečiamas iš const objekto, ar ne. Jeigu nebūtų to a++, tada užtektų tik antrojo metodo, nes ką galima iškviesti iš const objekto, tą galima iškviesti iš paprasto.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, noriu paklausti kuris budas tinkamesnis norint isskirti atminti dinamiskai (kompiliatorius abu praleidzia)

Automobiliai *A1 = new Automobiliai;

ar

Automobiliai *A1 = new Automobiliai();

 

 

Sveikas, gal galiu paklausti kodėl vietoj naked pointer'ių nenaudoji smart pointer'ių?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...