• 15-04-2020, 14:38:11
    #10
    Üyeliği durduruldu
    sawashan adlı üyeden alıntı: mesajı görüntüle
    http://cpp.sh/774vf


    Siz dizi olarak döndürmek istiyorsunuz sanırım yani bunu özellikle istiyorsunuz. Doğru mu ?
    Hocam kodu yukarda paylaştım. Benim yapmak istediğim sınıfa mainden gönderdiğim iki nokta adresini tek metodda return etmek. diziler ile olmalı aynen
  • 15-04-2020, 14:43:32
    #11
    Header için:
    int* getXY();
    Cpp için:
    int* MyPoint::getXY() {
    return new int[2] {x, y};
    }
  • 15-04-2020, 14:46:02
    #12
    Üyeliği durduruldu
    Dogukan adlı üyeden alıntı: mesajı görüntüle
    Header için:
    int* getXY();
    Cpp için:
    int* MyPoint::getXY() {
    return new int[2] {x, y};
    }
    Hocam çok çok çok teşekkür ederim hallettim Allah senden razı olsun )
  • 16-04-2020, 12:22:07
    #13
    suvogram adlı üyeden alıntı: mesajı görüntüle
    Hocam çok çok çok teşekkür ederim hallettim Allah senden razı olsun )
    @sawashan; uyarın için çok teşekkür ederim. Yazdığım kodda sızıntı oluşuyor. Aşağıdaki şekilde çok daha sağlıklı olacaktır.
    x ve y değişkenlerini kaldırdım onun yerine sadece point arrayini koydum.
    point[0] = x
    point[1] = y
    olarak düşünebilirsin.
    #include <iostream>
    #ifndef MYPOINT_H
    #define MYPOINT_H
    class MyPoint
    {
    public:
    MyPoint();
    MyPoint(int, int);
    ~MyPoint();
    int getX();
    void setX(int);
    int getY();
    void setY(int);
    int* getXY();
    void setXY(int, int);
    void toString();
    double distance(int, int);
    double distance();
    private:
    int point[2];
    };
    
    #endif
    #include "test.h"
    #include <iostream>
    #include <math.h>
    MyPoint::MyPoint() {
    point[0] = 0;
    point[1] = 0;
    }
    MyPoint::~MyPoint() {
    delete[]point;
    }
    MyPoint::MyPoint(int a, int b) {
    point[0] = a;
    point[1] = b;
    }
    int MyPoint::getX() {
    return point[0];
    }
    void MyPoint::setX(int a) {
    point[0] = a;
    }
    int MyPoint::getY() {
    return point[1];
    }
    void MyPoint::setY(int a) {
    point[1] = a;
    }
    int* MyPoint::getXY() {
    return point;
    }
    void MyPoint::setXY(int a, int b) {
    point[0] = a;
    point[1] = b;
    }
    void MyPoint::toString() {
    std::cout << "Nokta kordinatınız : (" << point[0] << "," << point[1] << ")" << std::endl;
    }
    double MyPoint::distance(int a, int b) {
    return sqrt((point[0] - a) * (point[0] - a) + (point[1] - b) * (point[1] - b));
    }
    double MyPoint::distance() {
    return sqrt((point[0]) * (point[0])+(point[1]) * (point[1]));
    }