Mithr Mesaj tarihi: Mayıs 14, 2011 Mesaj tarihi: Mayıs 14, 2011 arkadaslar imdat. ///////////////// template class babafoo { babafoo & operator=(const T rhs[]); } template class veletfoo : public babafoo { } //////////////////// //// int data[] = {1,2,3,4}; veletfoo = data; veletfoo = data calismiyor. inherit edemiyor operator overloadu nedense. oysa ki kutu parantezi, '[]' i overload ettigimde father classdan her turlu calisiyor child classlarda. garip bir sekilde intellisense operator= i tanimiyor vc++ da, ama veletfoo da operator= u overload ettigimde calisiyor, fakat inherit edilen bir suru classim var ve hepsi icin yazmak istemiyorum operator= i. bi fikri olan varmi operator= 'un child classlarda calismamasini? simdi yazarken aklima geldi polymorphism olabilir gibi geliyor hatanin nedeni, ama mantiksiz geliyor operator[] calistigi icin
Mithr Mesaj tarihi: Mayıs 14, 2011 Konuyu açan Mesaj tarihi: Mayıs 14, 2011 ibretlik paylasim: template class veletfoo : public babafoo { //IBRET BEGINS using babafoo :: operator=; } yapinca inherit etti operatoru. nedendir bilmem bi assignment operatorunde boyle bir dallamalik cikti. farkli cozumu olan var mi bu soruna?
Mithr Mesaj tarihi: Mayıs 14, 2011 Konuyu açan Mesaj tarihi: Mayıs 14, 2011 daha buyuk bir sorun [] i overload ettirdigimizde babafoo[0] T dondurtebiliyoruz fakat babafoo[0] = deger dedigimizde bu kodun calismasi icin babafoo nun adres dondurmesi lazim. fakat bir operatoru birden fazla overload edemedim nasil olacak sdfs
Mithr Mesaj tarihi: Mayıs 14, 2011 Konuyu açan Mesaj tarihi: Mayıs 14, 2011 of silin topigi epic fail T & operator[](int i) { return data[i]; }; data olarak vector kullaninca nasil deger set ettirebilecegim konusunda supheye dusmustum sdfds
SpiderS_DangeR Mesaj tarihi: Mayıs 14, 2011 Mesaj tarihi: Mayıs 14, 2011 başka sorun varsa sorabilirsin dsf
Mithr Mesaj tarihi: Mayıs 14, 2011 Konuyu açan Mesaj tarihi: Mayıs 14, 2011 var bir tane geliyor ahha olay su brackets overloadundan gorebilecegimiz gibi adress donduruyorum T typein. diyelim haydar[0], kendi icindeki vectorun 0 inci integerini donduruyor no problemo haydar[0]= 3 yaptigimda haydar[0] in gonderdigi adrese 3 degerini atiyor, sorun yok fakaaat diyelim ki ben haydar[0] in 3 almasini istemiyorum. bu array arkadas icinde sadece cift sayilar bulunsun. ne yapabilirim? dfsdfsdf care 1 olarak her turlu almasini fakat output yaparken gostermemesi olarak aklimda fakat adam gibi bir cozum ariyorum :D
Öne çıkan mesajlar