Özet: Point Manager
Coddy'nin C Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 11 / 61.
Görev
Kolay2B bir koordinatı yöneten eksiksiz bir Point modülü oluşturalım. Bu tekrar çalışması, struct'ları nesneler gibi ele alma konusunda öğrendiğin her şeyi bir araya getiriyor: durumu değiştirmek için işaretçileri ve salt okunur işlemler için const işaretçileri kullanmak.
Üç dosya oluşturacaksın:
point.h: İki tamsayı üyesi olan birPointstruct'ı tanımla:xvey. Ayrıca yöntem gibi davranan iki işlev bildir:point_move: Bir Point işaretçisiyle birlikte iki tamsayı (dxvedy) alır ve bu değerlerixiley'ye ekleyerek noktanın konumunu değiştirirpoint_print: BirconstPoint işaretçisi alır ve koordinatlarını görüntüler (bu işlev noktayı değiştirmemelidir)
POINT_Hsembolüyle include guard kullan.point.c: Her iki işlevi de uygula. Hangi işlevin noktayı değiştirmek için normal bir işaretçiye, hangisinin değişiklik yapmadan güvenli bir şekilde okumak içinconstişaretçiye ihtiyaç duyduğunu dikkatlice düşün.main.c: Bir Point oluştur, onu hareket ettir ve farklı aşamalardaki konumunu görüntüle.
Dört tamsayı girdisi alacaksın: başlangıç x, başlangıç y, dx değeri (yatay hareket miktarı) ve dy değeri (dikey hareket miktarı).
Ana dosyanda, başlangıç koordinatlarıyla bir Point başlat, başlangıç konumunu yazdır, verilen miktarlar kadar hareket ettir ve ardından yeni konumunu yazdır.
point_print işlevi şu biçimde çıktı vermelidir:
Point: ({x}, {y})Örneğin girdiler 3, 5, 2 ve -1 olduğunda çıktı şöyle olur:
Point: (3, 5)
Point: (5, 4)Kendin dene
#include <stdio.h>
#include "point.h"
int main() {
// Girdi değerlerini oku
int x, y, dx, dy;
scanf("%d", &x);
scanf("%d", &y);
scanf("%d", &dx);
scanf("%d", &dy);
// TODO: Başlangıç koordinatları (x, y) ile bir Point oluştur
// TODO: point_print kullanarak başlangıç konumunu yazdır
// TODO: point_move kullanarak noktayı (dx, dy) kadar hareket ettir
// TODO: point_print kullanarak yeni konumu yazdır
return 0;
}
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Modüler Programlama Temelleri
Başlık DosyalarıInclude Guard'larKaynak DosyalarıStatik FonksiyonlarÖzet: Modüler Hesap Makinesi4Kapsülleme
Opaque Pointer KavramıOpaque Struct TanımlamaGetter ve Setter MetotlarıSetter Metotlarında DoğrulamaÖzet: Gizli Kutu2Nesneler ve Metotlar
Nesne Olarak Struct'lar'Self' İşaretçisiConst Doğruluğuİşaretçi vs DeğerYardımcı MetotlarÖzet: Point Manager5Proje: Basit Banka Hesabı
Proje KurulumuHesabın Oluşturulması3Nesne Yaşam Döngüsü
Constructor DeseniDestructor DeseniStack İlklendirmeDerin KopyalamaÖzet: String Wrapper6Kompozisyon Yoluyla Kalıtım
Struct Gömmeİlk Üye KuralıÜst Üyelere ErişimUpcastingÖzet: Şekil HiyerarşisiKendi başına pratik yap: Online C derleyicisi