Object-Oriented Programming Lab Shape, TwoDShape, ThreeDShape, Disk, Square, Sphere, Cube class hiyerarşisi.

Benzer belgeler
#ifndef COMPLEX_H #define COMPLEX_H

#ifndef FATURA_H #define FATURA_H

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

Object-Oriented Programming Laboratuvar 11

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

Object-Oriented Programming Laboratuvar 10

Fall Object-Oriented Programming Laboratory 03

Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok.

Fall Object-Oriented Programming Laboratory 02 - Structures

C++ Dersi: Nesne Tabanlı Programlama

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

C++ Dersi: Nesne Tabanlı Programlama

Kalıtım (Inheritance)

DERSİN WEB SİTESİ:

Çok Şekillilik (Polymorphism)

Inheritance. Inheritance (turetim)

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

1 PROGRAMLAMAYA GİRİŞ

C ++ Ders 6. Çoklubenzesim

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Örnek1: #include <iostream> #include <string> using namespace std;

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

C++ Class larina baslangic. C++ Versus C Object-oriented Language C++ Structure dan Object Create etmek. Structure tanimlama.

Operatörlere İşlev Yükleme

C++ Operatörler (Operators)

Karma C/C + + Kodlama

C++ Dersi: Nesne Tabanlı Programlama

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama

C++ Dersi: Nesne Tabanlı Programlama

Nesneye Dayalı Programlama

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

BİLG Dr. Mustafa T. Babagil 1

446 GÖMÜLÜ SİSTEM TASARIMI. Lab 9 UART

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

ROBOT KOLLARININ MODERNİZASYONU VE KONTROLÜ

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

BİL-142 Bilgisayar Programlama II

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

C++ ile Nesneye Dayalı Programlama

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

C++ Dersi: Nesne Tabanlı Programlama

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

Statik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları

C++ Dersi: Nesne Tabanlı Programlama

Veri Yapıları Lab Notları 1

Algoritma ve Programlama: Karar Yapıları ve Döngüler

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

KONU 7: DOSYA İŞLEME ( File Processing )

Dr. Fatih AY Tel: fatihay@fatihay.net

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009

BİLG Dr. Mustafa T. Babagil 1

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

NESNE MODELLERİ : SINIFLAR

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

Object-Oriented Oriented Design (OOD) Procedure Based Programlama. OOD Ana Ozellikleri

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

public static int Toplam int x, int y

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

C++ Dersi: Nesne Tabanlı Programlama

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

PROGRAMLAMAYA GİRİŞ DERS 2

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

C++ Dersi: Nesne Tabanlı Programlama

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Bilgisayar Programlama. 1.Hafta

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

YZM 2105 Nesneye Yönelik Programlama

C ile Uygulamalar 1 - Cevaplar

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi:

Standard Template Library

KALITIM. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

NESNEYE YÖNELİK PROGRAMLAMA

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Transkript:

25.08.2017 Object-Oriented Programming Lab 7 1. Shape, TwoDShape, ThreeDShape, Disk, Square, Sphere, Cube class hiyerarşisi. Disk, kare, küre ve küp şekilleriyle çalışmak için abstract class larla birlikte bir class hiyerarşisi oluşturun. Shape - abstract class. - Türetilmiş class ların print(), scan(), area(), volume() metotlarına arayüz sağlar. TwoDShape - Shape class ından türetilmiş abstract class. - uble x // şeklin x koordinatı. - uble y // şeklin y koordinatı. ThreeDShape - TwoDShape class ından türetilmiş abstract class. - uble z // şeklin z koordinatı. Disk - TwoDShape class ından türetilmiş class. - uble r // diskin yarıçapı. - print(), scan(), area(), volume(). // diske göre tasarlanmış metotlar. Square - TwoDShape class ından türetilmiş class. - uble a // karenin kenar uzunluğu. - print(), scan(), area(), volume(). // kareye göre tasarlanmış metotlar. Sphere - ThreeDShape class ından türetilmiş class. - uble r // kürenin yarıçapı. - print(), scan(), area(), volume(). // küreye göre tasarlanmış metotlar. Cube - uble a // karenin kenar uzunluğu. - print(), scan(), area(), volume(). // kübe göre tasarlanmış metotlar. Oluşturduğunuz class ları bir programda deneyin: Her class tan birer obje oluşturun, kullanıcıdan koordinat ve boyut bilgilerini alın ve her bir objenin tüm bilgilerini (objenin şekli, merkez koordinatları, boyutları, alanı, hacmi) ekrana yazdırın.

#ifndef SHAPE_H #define SHAPE_H #define PI 3.14159 class shape virtual void print(void) = 0; virtual void scan(void) = 0; virtual uble area(void) = 0; virtual uble volume(void) = 0; ; #endif // SHAPE_H #ifndef TWO_D_SHAPE_H #define TWO_D_SHAPE_H #include "shape.h" class twodshape : public shape uble x; uble y; twodshape(uble X=0.0, uble Y=0.0); ; #endif // TWO_D_SHAPE_H #ifndef TWO_D_SHAPE_H #define TWO_D_SHAPE_H #include "shape.h" class twodshape : public shape uble x; uble y; twodshape(uble X=0.0, uble Y=0.0); ; #endif // TWO_D_SHAPE_H twodshape::twodshape(uble X, uble Y) x = X; y = Y; #ifndef THREE_D_SHAPE_H #define THREE_D_SHAPE_H class threedshape : public twodshape uble z;

; threedshape(uble X=0.0, uble Y=0.0, uble Z=0.0); #endif // THREE_D_SHAPE_H #include "threedshape.h" threedshape::threedshape(uble X, uble Y, uble Z) : twodshape(x, Y) z = Z; #ifndef DISK_H #define DISK_H class disk : public twodshape uble r; disk(uble X=0.0, uble Y=0.0, uble R=1.0); uble area(void); uble volume(void); ; #endif // DISK_H #include "disk.h" disk::disk(uble X, uble Y, uble R) : twodshape(x, Y) r = R > 0? R : 1.0; void disk::print(void) cout << "shape : disk" << endl << "(x,y) : (" << x << "," << y << ")" << endl << "volume: " << volume() << endl; void disk::scan(void) cout << "shape : disk" << endl cout << "enter r: "; cin >> r; while(r <= 0.0); // 0'dan buyuk bir yaricap degeri girilene kadar uble disk::area(void)

return PI*r*r; uble disk::volume(void) return 0; #ifndef SQUARE_H #define SQUARE_H class square : public twodshape uble a; square(uble X=0.0, uble Y=0.0, uble A=1.0); uble area(void); uble volume(void); ; #endif // SQUARE_H #include "square.h" square::square(uble X, uble Y, uble A) : twodshape(x, Y) a = A > 0? A : 1.0; void square::print(void) cout << "shape : square" << endl << "(x,y) : (" << x << "," << y << ")" << endl << "volume: " << volume() << endl; void square::scan(void) cout << "shape : square" << endl cout << "enter a: "; cin >> a; while(a <= 0.0); // 0'dan buyuk bir kenar degeri girilene kadar uble square::area(void) return a*a;

uble square::volume(void) return 0; #ifndef SPHERE_H #define SPHERE_H #include "threedshape.h" class sphere : public threedshape uble r; sphere(uble X=0.0, uble Y=0.0, uble Z=0.0, uble R=1.0); uble area(void); uble volume(void); ; #endif // SPHERE_H #include "sphere.h" sphere::sphere(uble X, uble Y, uble Z, uble R) : threedshape(x,y,z) r = R > 0? R : 1.0; void sphere::print(void) cout << "shape : sphere" << endl << "(x,y,z) : (" << x << "," << y << "," << z << ")" << endl << "volume : " << volume() << endl; void sphere::scan(void) cout << "shape : sphere" << endl cout << "enter z: "; cin >> z; cout << "enter r: "; cin >> r; while(r <= 0.0); // 0'dan buyuk bir kenar degeri girilene kadar uble sphere::area(void) return 4*PI*r*r; uble sphere::volume(void)

return 4.0/3.0*PI*r*r*r; // integer bolmesi hatasina dusme! #ifndef CUBE_H #define CUBE_H #include "threedshape.h" class cube : public threedshape uble a; cube(uble X=0.0, uble Y=0.0, uble Z=0.0, uble A=1.0); uble area(void); uble volume(void); ; #endif // CUBE_H #include "cube.h" cube::cube(uble X, uble Y, uble Z, uble A) : threedshape(x,y,z) a = A > 0.0? A : 1.0; void cube::print(void) cout << "shape : cube" << endl << "(x,y,z) : (" << x << "," << y << "," << z << ")" << endl << "volume : " << volume() << endl; void cube::scan(void) cout << "shape : cube" << endl cout << "enter z: "; cin >> z; cout << "enter a: "; cin >> a; while(a <= 0.0); // 0'dan buyuk bir kenar degeri girilene kadar uble cube::area(void) return 6*a*a; uble cube::volume(void)

return a*a*a; #include "shape.h" #include "disk.h" #include "square.h" #include "sphere.h" #include "cube.h" int main(void) disk Disk_Shape; square Square_Shape; sphere Sphere_Shape; cube Cube_Shape; shape *Shape_Arr[] = &Disk_Shape, &Square_Shape, &Sphere_Shape, &Cube_Shape; int lpr; for(lpr=0; lpr<4; lpr++) Shape_Arr[lpr]->scan(); cout << endl; cout << "--------------------" << endl << endl; for(lpr=0; lpr<4; lpr++) Shape_Arr[lpr]->print(); cout << endl; return 0;