Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
1682
Tıklama
0
Öne Çıkarma
çözüldü : c# çalışma zamanında hata alıyorum nedenini bulamadım yardım eder misiniz ?
D
8 yıl
Yüzbaşı
Konu Sahibi


using System;
class Memeli
{
protected double mboy;
protected double magirlik;

public Memeli(double boy, double agirlik)
{
this.mboy = boy;
this.magirlik = agirlik;
}
public void ozellkgoster()
{
Console.WriteLine("Boy = " + mboy);
Console.WriteLine("ağırlık =" +magirlik);
}
public double Boy
{
get { return mboy; }
set { mboy = value; }
}
public double agirlik
{
get { return agirlik; }
set { magirlik = value; }

}
}
class Kedi : Memeli
{
public string Turu;

public Kedi(string turu, int boy, int agirlik): base(boy,agirlik)
{
this.Turu = turu;
}
public void TurGoster()
{
Console.WriteLine(Turu + " kedisi");
}
}
class Koyun : Memeli
{
public string Turu;
public Koyun(string turu, double boy, double agirlik): base(boy,agirlik)
{
this.Turu = turu;
}
public void TurGoster()
{
Console.WriteLine(true + " Koynu");
}
}
class Mainmetot
{
public static void Goster(Memeli memeli)
{
Console.WriteLine("Boy = " + memeli.Boy);

Console.WriteLine("Agirilik = " + memeli.agirlik);
}
static void Main(string[] args)
{
Memeli memeli1 = new Memeli(10,35);
Goster(memeli1);
Kedi kedi1 = new Kedi("Van", 5, 10);
Goster(kedi1);

Koyun koyun1 = new Koyun("Ankara", 52, 70);
Goster(koyun1);
}
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 6 Temmuz 2017; 8:31:37 >

H
8 yıl
Yüzbaşı

Kedi sınıfındaki boy ve ağırlık int olmuş. Onları da double yapıp deneyebilirsiniz. Varsa hata mesajını da yazarsanız iyi olur.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
D
8 yıl
Yüzbaşı
Konu Sahibi

double yaptım yine olmadı, aldığım hata ise şu : Process is terminated due to StackOverflowException




Bu mesajda bahsedilenler: @hyrgul
H
8 yıl
Yüzbaşı

Memeli sınıfında agirlik özelliğinin get kısmında return magirlik olacak sanırım. Siz return agirlik yazmışsınız.



public double agirlik

{

get { return magirlik; }

set { magirlik = value; }



}



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
D
8 yıl
Yüzbaşı
Konu Sahibi

teşekkürler, oldu :)




Bu mesajda bahsedilenler: @hyrgul
K
8 yıl
Yarbay

Stack overflow hatası alınca birbirini çağıran fonksiyonlar veya kör döngü içinde kendini çağıran bir şeyler aramak gerek.

1. memelinin ağırlık değişkeninin değeri istenirse get metodunu çalıştır.
2. get metoduna göre ağırlık değişkeninin değeri, ağırlık değişkeninin kendisi.
3. o zaman ağırlık değişkenininin get metodunu çalıştır.

2 ve 3 arasında sıkışıp kalıyor program. Yapılan iş henüz bitmediğinden birbirlerine linkli halde stack'te duruyorlar. Eğer fazla dolarsa da memory bitiyor, stack daha fazlasını taşıyamayıp overflow oluyor.





< Bu mesaj bu kişi tarafından değiştirildi KaramazovX -- 6 Temmuz 2017; 9:5:2 >
Bu mesaja 1 cevap geldi.
D
8 yıl
Yüzbaşı
Konu Sahibi

çok sağ ol üstat, öğrendiğim iyi oldu :)




Bu mesajda bahsedilenler: @Fulctrum
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.