[ Valerij Zajcev @ 30.08.2007. 19:10 ] @
Poceo sam da vezbam da koristim klase kao polja i prvo pa zapelo :(
Code:

using System;

class Point
{
    private int x, y;
    public int p_X
    {
        get { return x; }
        set { x = value; }
    }
    public int p_Y
    {
        get { return y; }
        set { y = value; }
    }
}
class Pravougaonik
{
    Point GLevo, GDesno, DLevo, DDesno;     //gore = g
    private int gore, dole, levo, desno;

    public Pravougaonik(int gore, int dole, int levo, int desno)
    {
        this.gore = gore;
        this.dole = dole;
        this.levo = levo;
        this.desno = desno;

        GLevo.p_X = levo;
        GLevo.p_Y = gore;
        GDesno.p_X = desno;
        GDesno.p_Y = gore;
        DLevo.p_X = levo;
        DLevo.p_Y = dole;
        DDesno.p_X = desno;
        DDesno.p_Y = dole;
    }

    public Point p_GLevo
    {
        get { return GLevo; }
        set { GLevo = value; }
    }
    public Point p_GDesno
    {
        get { return GDesno; }
        set { GDesno = value; }
    }
    public Point p_DLevo
    {
        get { return DLevo ; }
        set { DLevo = value; }
    }
    public Point p_DDesno
    {
        get { return DDesno; }
        set { DDesno = value; }
    }

    public int IzracunajPovrsinu()
    {
        int duzina, sirina;
        duzina = desno - levo;
        sirina = gore - dole;
        return (duzina * sirina);
    }
}
public class Program
{
    static void Main()
    {
        Pravougaonik p1 = new Pravougaonik(100, 20, 50, 80);
        int m_Povrsina = p1.IzracunajPovrsinu();

        Console.WriteLine("P = {0}", m_Povrsina);
        Console.WriteLine("X koordinata gornjeg levog ugla je: {0}", p1.p_GLevo);
    }
}
[ Pharos @ 30.08.2007. 19:42 ] @
Nisi inicijalizovao Point-e u klasi Pravougaonik, a pokusavas da promenis X i Y.
[ maksvel @ 30.08.2007. 19:43 ] @
Hm, čini se da si dodelio vrednost svojstvu objekta GLevo (koje je i samo objekat), koji si samo deklarisao, a nisi napravio objekat sa new. Point GLevo = new Point();
Ih, preteče me Pharos
[ Valerij Zajcev @ 30.08.2007. 20:11 ] @
Sace da bude kao u skoli znao sam al nisam se javio :)
Code:

Point GLevo = new Point();
    Point GDesno = new Point();
    Point DLevo = new Point();
    Point DDesno = new Point();     //gore = g
    private int gore, dole, levo, desno;

Ovo je ispravno sada i program mi radi ali, ja nisam hteo ovako da stavim jer sam naravno mislio da je ovo lose jer cu da uzmem dosta memorije sa toliko instanci.
Cesto imam ovakve tripove ne znam kada treba da instanciram objekat. Stalno se plasim da GC nece moci da pocisti iza mene :)
Molio bih nekoga ko ima neki link ka nekom tutorijalu sa jos nekim objasnjenjima koriscenja klasa kao polja?
Hvala
[ Laki123 @ 22.10.2007. 15:24 ] @
Ovo je dobar primer za upotrebu struktura, kada imaš neke koordinate, najbolje je koristiti strukturu. Znači, umesto klase Point neka to bude struktura.
Inače program ti ima grešku u delu gde treba da ispiše koordinatu X, treba da bude:
Code:
Console.WriteLine("X koordinata gornjeg levog ugla je: {0}-{1}", p1.p_GLevo.p_X, p1.p_GLevo.p_Y);