https://www.duniailkom.com/tutorial-belajar-oop-c-plus-plus-cara-membuat-object-pada-bahasa-c-plus-plus/
ZZZZZ
class
Komputer {
// kode untuk class Komputer
};
class
Laptop:
public
Komputer {
membuat dua buah class: Komputer dan Laptop. Perhatikan perintah di baris 9, itulah cara menurunkan class Komputer kepada class Laptop. Yakni dengan cara menulis tanda titik dua, diikuti hak akses class yang dalam hal ini public, beserta nama parent class yang ingin diturunkan.
ZZZZZ
int
main()
{
SmartLaptop smartLaptopAndi;
SmartLaptop mengacu ke class diatas, smartLaptopAndi adalah variabel pemanggil pada isi program (menggunakan operator titik)
ZZZZZZZ
cout << laptopAndi.Komputer::cekInfo()
Agar bisa mengakses function cekInfo(), saya menggunakan perintah cout << laptopAndi.Komputer::cekInfo() seperti di baris 23. Inilah cara mengakses member function yang sudah ter-overridden.
Format penulisan yang dipakai adalah: namaObject.NamaClass::namaFunction().
ZZZZZ
for
(
int
i : arr) {
cout <<
"Akar kuadrat dari "
<< i <<
" = "
<<
sqrt
(i) << endl;
}
variabel i akan di isi dengan setiap element array arr sepanjang blok perulangan for. Perintah ini terus dijalankan sampai element terakhir dari array arr, kita tidak perlu menulis berapa kali perulangan harus dijalankan.
ZZZZZ
void
hitungLuasSegitiga(
int
alas,
int
tinggi) {
double
luas = (alas * tinggi) / 2.0;
cout <<
"Luas segitiga adalah: "
<< luas << endl;
}
PROG LANJUT
double
hitungLuasSegitiga(
int
alas,
int
tinggi) {
double
luas = (alas * tinggi) / 2.0;
return
luas;
}
int
main()
{
double
var1 = hitungLuasSegitiga(5, 7);
cout <<
"Luas segitiga adalah: "
<< var1 << endl;
Sebelumnya di awal baris 5 ini terdapat keyword void karena function hitungLuasSegitiga() tidak memiliki perintah return.
Perintah return sendiri ada di baris 7, yakni return luas. Artinya, kembalikan nilai yang tersimpan di dalam variabel luas kepada kode yang akan memanggil function tersebut.
Di baris 12 saya membuat variabel var1 bertipe double dan mengisinya dari hasil function hitungLuasSegitiga(5, 7). Dengan perintah ini, variabel var1 akan berisi angka 17.5 yang kemudian ditampilkan dengan perintah cout.
Seperti inilah cara penggunaan perintah return dalam mengembalikan nilai function.
ZZZZZZZZZ
double
hitungLuasSegitiga(
int
alas,
int
tinggi) {
double
luas = (alas * tinggi) / 2.0;
return
luas;
cout <<
"Hello Duniailkom"
;
}
perintah return berfungsi mirip seperti break dalam perulangan. Jika ditemukan perintah return, pemrosesan function akan berhenti dan tidak akan mengeksekusi kode dibawahnya.
Kode program di DIBAWAHNYA tidak akan pernah dijalankan karena berada setelah perintah return.
ZZZZZZ
ZZZZZZ
struct
Siswa {
string nama;
string sekolah;
unsigned
int
uangSaku;
};
int
main()
{
struct
Siswa siswa01;
siswa01.nama =
"Andi Permana Nugroho"
;
siswa01.sekolah =
"SMA 1 Lumut Ijo"
;
siswa01.uangSaku = 10000;
Tipe data struct adalah tipe data bentukan, dimana kita harus buat dulu seperti apa isi komponen dari struct, baru kemudian diakses dari kode program utama.
ZZZZZZZ
enum
nama_hari {
minggu = 0,
senin = 10,
selasa = 20,
rabu = 30,
kamis = 40,
jumat = 50,
sabtu = 60
};
int
main()
{
nama_hari var1;
var1 = senin;
cout << var1 << endl;
var1 = rabu;
cout << var1 << endl;
var1 = sabtu;
cout << var1 << endl;
ZZZZZZZ
REFERENCE
Perintah string &var2 = var1 artinya, alamat memory yang dirujuk oleh var2 akan sama dengan milik var1.
int
main()
{
string var1 =
"Belajar C++ di Duniailkom"
;
string &var2 = var1;
cout << var1 << endl;
cout << var2 << endl;
var2 =
"Belajar Java di Duniailkom"
;
cout << var1 << endl;
cout << var2 << endl;
Hasil kode program:
Belajar C++ di Duniailkom
Belajar C++ di Duniailkom
Belajar Java di Duniailkom
Belajar Java di Duniailkom
ZZZZZZZZZZ
cout << &var1 << endl;
cout << &var2 << endl;
cout << &var3 << endl;
Inilah cara menampilkan alamat memory dari setiap variabel, yakni dengan cara men-cout &var1, &var2 dan &var3.
Hasil 0x61fe1c, 0x61fe18 dan 0x61fe14 adalah alamat memory yang dipakai untuk menyimpan data milik var1, var2 dan var3.
ZZZZZZ
Pengertian Pointer
int
main()
{
string var1 =
"Belajar C++ di Duniailkom"
;
string* var2 = &var1;
cout << var1 << endl;
cout << var2 << endl;
Belajar C++ di Duniailkom
0x61fde0
perintah string* var2 = &var1. Ini akan menginput alamat memory milik var1 ke dalam var2.
Tipe data pointer harus di set dengan tipe data yang sama dengan tipe data asal
Pengertian Dereference
Untuk menampilkan nilai yang tersimpan di dalamnya, bisa menggunakan operator *
pada saat di cout
int
main()
{
string var1 =
"Belajar C++ di Duniailkom"
;
string* var2 = &var1;
cout << var1 << endl;
cout << var2 << endl;
cout << *var2 << endl;
pointer ini mengizinkan kita mengakses alamat memory secara langsung, implementasinya bisa dipakai untuk membuat struktur data yang kompleks.
Misalnya nanti ada struktur “linked list” yang mirip seperti array dinamis (array yang jumlah elementnya bisa terus ditambah, tidak harus ditentukan di awal). Linked list ini butuh pointer agar bisa bekerja.
ZZZZZZZZZZ
Pengertian Function Overloading C++
Di dalam C++, Function Overloading adalah membuat beberapa function dengan nama yang sama, tapi dibedakan dari jumlah dan tipe data parameter.
int
tambah(
int
var1,
int
var2) {
return
var1 + var2;
}
int
tambah(
int
var1,
int
var2,
int
var3) {
return
var1 + var2 + var3;
}
string tambah(string var1, string var2) {
return
var1 +
" tambah "
+ var2;
}
int
main()
{
cout << tambah(1, 2) << endl;
cout << tambah(5, 4, 3) << endl;
cout << tambah(
"satu"
,
"dua"
) << endl;
ZZZZZZZZZ
ZZZZZZZZZZ
Komentar
Posting Komentar