Alvin's Blog

Just another Binusian blog site

Kuis dan TM 2

March17

TM 02

  1. Copy constructor suatu klas dieksekusi jika obyek klas di-copy dengan mekanisme di bawah ini kecuali

a. direct assignment                           b. initialization

c. passing by value                              c. return by value

  1. Fungsi anggota yang otomatis di-create oleh kompilator meskipun ia tidak secara eksplisit ditulis oleh pemrogram dalam definisi klas adalah opsi-opsi di bawah ini kecuali

a. default constructor                                    b. copy constructor

c. destructor                                        d. overloaded constructor

  1. Level akses utility function  atau helper function suatu klas adalah

a. public           b. protected                 c. private                    d. inline

  1. Untuk class X, sintaks copy constructor adalah

a. X(& X)                                            b. X(const X&)

c. X(const &X)                                   d. X(X &)

5. C++ class mempunyai

  • satu konstruktor dan satu destructor
  • lebih dari satu konstruktor dan satu destructor
  • satu konstruktor dan lebih dari satu destructor
  • lebih dari satu konstruktor dan lebih dari satu destructor

6. Apa keluaran dari penggalan program berikut ini:

class Rational {

public:

Rational() { cout << “OBYEK LAHIR.\n”; }

~Rational() { cout << “OBYEK MATI. \n”; }

private:

int num, den;

};

main() {

{   Rational x;

cout << “SEKARANG x HIDUP.\n”;

}

cout << “ANTAR BLOK.\n”;

{   Rational y;

cout << “SEKARANG y HIDUP.\n”;

}

}

Keluaran dari penggalan program tersebut ialah:

OBYEK LAHIR.

SEKARANG x HIDUP.

OBYEK MATI

ANTAR BLOK.

OBYEK LAHIR.

SEKARANG y HIDUP.

OBYEK MATI.

7. Uraikan apa yang kamu ketahui tentang constructor, user defined constructor, default constructor, parameterized constructor,  constructor initialization list, copy constructor dan destructor.

  • Constructor adalah sebuah fungsi yang otomatis dipanggil setiap kali melakukan instasiasi terhadap suatu klas.
  • User defined constructor adalah constructor yang dibuat oleh user.
  • Default constructor adalah constructor standar yang telah disediakan oleh library iostream.
  • Parameterized constructor adalah parameter-parameter dalam suatu constructor yang telah diinisialisasi oleh user.
  • Constructor initialization list adalah daftar-daftar nilai constructor yang akan diinisialisasi.
  • Copy constructor adalah penggandaan sebuah constructor.
  • Destructor adalah fungsi khusus yang dijalani secara otomatis setelah obyek punah.

8. Uraikan apa yang kamu ketahui tentang default arguments di C++. Sebutkan apa saja  yang dapat digunakan sebagai devalut value. Mengapa nilai constant tidak dapat digunakan sebagai default value untuk reference variable?

  • Default arguments adalah sebuah constructor yang secara otomatis disediakan library iostream meskipun programmer tidak membuat constructor dalam class.
  • Semua dapat digunakan sebagai default value kecuali nilai constant.
  • Nilai constant tidak dapat digunakan karena nilai constant tidak dapat diubah sama sekali. Lain halnya dengan nilai default yang dapat diubah oleh user jika user memlukannya.

9. Apa yang dimaksud dengan function overloading? Kriteria apa yang digunakan untuk menyatakan bahwa dua fungsi dengan nama yang sama adalah berbeda satu sama lain.

  • Function overloading merupakan suatu function yang memiliki parameter, dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya.
  • Syaratnya adalah dengan jumlah parameter yang berbeda.

10. Banyak penulis buku menyatakan bahwa untuk  class X paling sedikit  mempunyai satu constructor yaitu default constructor dengan prototype X(). Tetapi John Hubbard dalam bukunya Programming with C++ menyatakan bahwa setiap class X paling sedikit mempunyai dua constructor yaitu default X() dan copy constructor yang prototipe sintaksnya adalah X (const X & ), fungsi anggota dengan satu parameter dan pass by constant reference.

Tugas Anda:

a. Kapan copy constructor dieksekusi?

Ketika sebuah function memanggil copy constructor tersebut.

b. Untuk penggalan kode berikut berapa kali copy constructor dieksekusi?

1 kali

class Rational {

public :   Rational(int n, int d) : num(n), den (d) { }

Rational(const Rational  & r) : num(r.num), den(r.den)

{ cout << “COPY CONSTRUCTOR CALLED\n”;}

private: int num, den;

};

Rational f(Rational r) {

Rational s = r;

return s;

}

main() {

Rational(22,7);

Rational y(x);

f(y);

            }

I AM PROUD AS A BINUSIAN

posted under Uncategorized

Email will not be published

Website example

Your Comment: