İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C++ must have class/struct/union Hatası

Erngnctrk15.11.20114 cevap2.121 görüntüleme
2009'den beri454 mesaj
#1
#include <iostream>using namespace std;
class Money{
public:
    Money(){}
    Money(long dollars):cents(dollars*100){}
    Money(long dollars, int cent){
        if((dollars*cent)<0){
            cout<<"illegal values for dolars and cents"<<endl;
            exit(1);
        }
        cents=dollars*100+cent;
    }
    long getCents() const{return cents;}
    double getValue(){return (cents*.01);}
    void add(const Money &money){
        this->cents+=money.getCents();
    }
    void addCents(long cent){
        this->cents+=cent;
    }
private:
    long cents;
};
int main(){
    Money money(5,75);
    cout<<"total money is "<<money.getValue()<<endl;
    cout<<"total money is "<<money.addCents(75).add(Money(2,10)).getValue()<<endl;
    system("pause");
return 0;
}


money.addCents(75).add(Money(2,10)).getValue()
kısmından dolayı hata alıyorum.
sebepi ve çözümü ne olabilir?
Cevaplar
2008'den beri3.195 mesaj
#2

money.addCents(75);
money.add(Money(2,10));    
std::cout<<"total money is "<<money.getValue()<<std::endl;
Erngnctrk Konuyu açan
2009'den beri454 mesaj
#3
eyv sağol.
class içinde cascading ile nasıl yapacagız onu bulamadım.
Erngnctrk Konuyu açan
2009'den beri454 mesaj
#5
kosasker dedi: ↑
Hiç ihtiyacım olmadı, şöyle bir örnek belki yardımcı olabilir.

http://www.java2s.com/Tutorial/Cpp/0180__Class/Cascadingmemberfunctioncallswiththethispointer.htm
1 saattir bakıyorum ama birşey anlamıyorum. :D
lanet ettim bu cascading işine. :D
cevapların için çok sağol

---------- Post added at 23:57 ---------- Previous post was at 23:41 ----------

#include <iostream>using namespace std;
class Money{
public:
    Money(){}
    Money(long dollars):cents(dollars*100){}
    Money(long dollars, int cent){
        if((dollars*cent)<0){
            cout<<"illegal values for dolars and cents"<<endl;
            exit(1);
        }
        cents=dollars*100+cent;
    }
    long getCents() const{return cents;}


    double getValue(){return (cents*.01);}
    
    
    Money &add(const Money &);
    Money &addCents(long);


private:
    long cents;
};


    Money &Money::add(const Money &money){
        cents+=money.getCents();
        return *this;
    }


    Money &Money::addCents(long cent){
        cents+=cent;
        return *this;
    }
int main(){
    Money money(5,75);
    cout<<"total money is "<<money.getValue()<<endl;
    cout<<"total money is "<<money.addCents(75).add(Money(2,10)).getValue()<<endl;
    system("pause");
    return 0;
}

çözümü bu şekilde :D
sonunda bulduk.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.