problem klase c++ left operand must be l-value

problem klase c++ left operand must be l-value

offline
  • Pridružio: 17 Jan 2012
  • Poruke: 38

Citat:/*kreirati klasu student koja ima privatne clanove broj indeksa, godina rodjenja i ime studenta.
Napisati odg. funkcije za pojedinacni upis u te clanove, odnosno za citanje vrednosti istih
clanova. Konsturktor ima zadatak da upise za broj indeksa vrednost 111,za godinu rodjenja 1990, i ime studenta
marko markovica.Destruktor je prazan!. U glavnom programu napraviti jedan objekat ove klase.
*/


#include<iostream>
#include<string>
using namespace std;
class student
{
int br_indeksa;
int god_rodj;
char ime_stud[15];
public:
void upis1(int br_indeksa1, int god_rodj1);
void upis_imena(char *C);
void ispis_podataka();

student() {
br_indeksa=111;
god_rodj=1990;
ime_stud=("Marko Markovic");
}
~student();
};


void student::upis1(int br_indeksa1,int god_rodj1)
{
br_indeksa=br_indeksa1;
god_rodj=god_rodj1;
}
void student::upis_imena(char *C)
{
strcpy(ime_stud,C);
}
void student::ispis_podataka()
{
cout<<"Broj indeksa:"<<br_indeksa<<endl;
cout<<"Godina rodjenja:"<<god_rodj<<endl;
cout<<"Ime studenta:"<<ime_stud;
}
int main()
{
student osoba;
osoba.upis1(3213,1991);
osoba.upis_imena("toma");
osoba.ispis_podataka();
return 0;
}





Izbacuje error: Compiling...
sae.cppd:\program files\microsoft visual studio\myprojects\dsada\adas.cpp(17) : error C2106: '=' : left operand must be l-value

Error executing cl.exe.

sae.obj - 1 error(s), 0 warning(s)



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 26 Avg 2010
  • Poruke: 10614
  • Gde živiš: Hypnos Control Room, Tokyo Metropolitan Government Building

Ukloni zagrade i koristi klasu String umjesto niza charova, praktičnije je.



offline
  • Pridružio: 10 Mar 2009
  • Poruke: 101
  • Gde živiš: Podgorica

Mislim da ne mozes tako da upisujes u char*. Moras da ili ti da napravis funkciju da upises vrijednost ili da koristis strcpy(ime_stud, "Marko Markovic"); funkciju iz biblioteke string.h

Ili sto @Sass Drake kaze da koristis klasu string iz STL-a Smile

offline
  • Pridružio: 17 Jan 2012
  • Poruke: 38

sad sam napisao:

#include<iostream>
#include<string>
using namespace std;
class student
{
int br_indeksa;
int god_rodj;
string ime_stud;
public:
void upis1(int br_indeksa1, int god_rodj1);
void upis_imena(string ime1);
void ispis_podataka();

student() {
br_indeksa=111;
god_rodj=1990;
ime_stud="Marko Markovic";
}
~student();
};


void student::upis1(int br_indeksa1,int god_rodj1)
{
br_indeksa=br_indeksa1;
god_rodj=god_rodj1;
}
void student::upis_imena(string ime1)
{
ime_stud=ime1;
}
void student::ispis_podataka()
{
cout<<"Broj indeksa:"<<br_indeksa<<endl;
cout<<"Godina rodjenja:"<<god_rodj<<endl;
cout<<"Ime studenta:"<<ime_stud;
}
int main()
{
student osoba;
osoba.upis1(3213,1991);
osoba.upis_imena("toma");
osoba.ispis_podataka();
return 0;
}



i kada compile-iram ne nadje gresku, ali nece da build-uje..

--------------------Configuration: ss - Win32 Debug--------------------
Linking...
dsa.obj : error LNK2001: unresolved external symbol "public: __thiscall student::~student(void)" (??1student@@QAE@XZ)
Debug/ss.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

ss.exe - 2 error(s), 0 warning(s)
GUZ - Glavom U Zid GUZ - Glavom U Zid GUZ - Glavom U Zid GUZ - Glavom U Zid

offline
  • Pridružio: 26 Avg 2010
  • Poruke: 10614
  • Gde živiš: Hypnos Control Room, Tokyo Metropolitan Government Building

Atribute nisi stavo u private ili protected. Grešku ti izbacuje zato što nisi dobro definisao destruktor.

~student(){}

Ukoliko nemaš dinamičkih elemenata nije ga potrebno definisati.

offline
  • Pridružio: 17 Jan 2012
  • Poruke: 38

pa da,ali mi ne izbacuje ime..samo indeks i godinu..

offline
  • Pridružio: 26 Avg 2010
  • Poruke: 10614
  • Gde živiš: Hypnos Control Room, Tokyo Metropolitan Government Building

Meni ispiše sve:

Ko je trenutno na forumu
 

Ukupno su 918 korisnika na forumu :: 33 registrovanih, 7 sakrivenih i 878 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., aljosa7, aramis s, bato, bojank, Boris90, branko7, brundo65, Cranium, crnitrn, Dannyboy, eighty-one, Faki-Valjevo, Kibice, konstruktor, Marko Marković, nenad81, nikoladim, nikolapetkovic, piton, repac, RJ, royst33, Sale.S, Singidunumac, ssekir75, Toni, Van, vilotic, vlvl, wolverined4, zdrebac