Week 10 Flashcards
Embedded object known as?
nested object. almost like inheritance when embedding an object into a class
multiple inheritance?
inherit features from more than one base class. syntax: class child: public father, public mother{};
modes of operation for multiple inheritance?
- multiple inheritance with a common grandparent is known as repeated inheritance
- repeated inheritance with separate copies of the grandparent is known as replicated inheritance while repeated inheritance with a single copy of the grandparent is known as shared inheritance
- the default in c++ is replicated inheritance
problems of multiple inheritance?
- semantik yang ambigu karena memiliki nama yang sama dalam parent class
- nama yang sama dapat digunakan pada method yang berbeda dalam base class
- kedua base class boleh memiliki method yang sama, sehingga tidak dapat mengetahui method yang mana yang sedang berjalan
Composition adalah?
cara untuk mengabungkan objek kedalam objek yang lebih complex. memiliki relationship “has a”. contohnya mobil dengan objek ban, stir, seat, gear dan mesin.
Aggregation adalah?
beda dengan composition. jika ada satu objek di destroy. functionality dari sebuah program dapat tetap berjalan.
class template dikenal juga?
generic class class generator parameterized class
perbedaan OOP dan generic programming?
OOP:
- actual parameter harus diperolah dari formal parameter
- harus pake virtual member
- dapat menunda pemilihan function sampai run-time
Generic:
- parameter hanya dibutuhkan utk implementasi method
- dapat menggunakan inline
- type must be known at compile-time
what is container and jenis-jenis container:
container adalah pemegang dari objek yang menyimpan sebuah koleksi dari objek lain (elemennya).
- sequence container (vector, list, dequeue)
- associative container (sets, multisets, maps, multimaps, bitset)
- container adapter (stack, queue, priority queue)
Iterator?
digunakan sebagai argument pada algoritma utk akses data. 5 kategori: 1. input iterator 2. output iterator 3. forward iterator 4. bidirectional iterator 5. random access iterator
jenis klasifikasi algorithm?
- non-modifying algorithms
- modifying algorithms
- numeric algorithms
- heap algorithms
what is orthogonality?
desain programming language yang memiliki kemampuan untuk menggunakan bervariasi fitur yang berubah-ubah dengan hasil yang konsisten
what is template?
an abstract recipe for producing concrete code
what is instances?
actual functions and classes yang digenerated
relationship dari Compisition?
has-a