Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > Programming Languages II Telafi
Yazar
mbmgau


avatar

Kayıt: 26.09.2009
15.06.2010-02:08 #69635
teşekkürler...





Yazar
cemocann


avatar

Kayıt: 20.05.2009
15.06.2010-02:16 #69636
+rep
adam haklı beyler : )





Yazar
idristas


avatar
istanbul
Kayıt: 26.02.2010
15.06.2010-03:08 #69637
point point::operator*(point &pt)
{
point sonuc;
sonuc.x = x * pt.x + y * pt.y;
sonuc.y = x * pt.x - y * pt.y;

return sonuc;
}





Yazar
euphrates


avatar
Istanbul
Kayıt: 11.10.2008
15.06.2010-10:15 #69638
xedo yazdi
 
İstek üzerine birinci sorunun cevabını da koyuyorum. 3. soruyu bilmiyorum çözersem koyarım onu da.

1. soru a) Koddaki hata m'nin private tanımlanması. m private tanımlandığı için dışarıdaki ChangePrivate fonksiyonunda m deiştirilemez.

b) ChangePrivate fonksiyonu class içerisinde friend olarak tanımlanırsa sorun çözülür.

#include <iostream>
using namespace std;

class Point{
      public:
             friend void ChangePrivate(Point &);
             Point(void):m(0){}
             void PrintPrivate(void){cout<<m<<endl;}
             
      private:
              int m;
      
      };
      
void ChangePrivate(Point &i){
     i.m++;
     
     }
     
     
int main(){
    Point sPoint;
    sPoint.PrintPrivate();
    ChangePrivate(sPoint);
    sPoint.PrintPrivate();
    getchar();
    return 0;
}







Ben sınavda friend tanımlamak yerine direk private: yazısını kaldırdım.Otamatikman m public oldu ve erişebildi mainden.peace





Yesterday is history, tomorrow is a mystery. Today? Today is a gift. That’s why we call it the present!



1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb