Pengantar OOP dalam C++
Termasuk bagian Pemrograman Berorientasi Object dalam perjalanan C++ di Coddy. Pelajaran 5 dari 104.
Pemrograman berorientasi object mengatur kode ke dalam class yang menggabungkan data dan perilaku.
class sederhana dengan anggota publik
class Dog {
public:
std::string name;
int age;
std::string bark() {
return name + " says Woof!";
}
};Membuat dan menggunakan object
Dog dog;
dog.name = "Buddy";
dog.age = 3;
std::cout << dog.bark() << std::endl;Keluaran:
Buddy says Woof!Class menentukan strukturnya: data apa yang disimpan dan tindakan apa yang dapat dilakukannya. Object adalah instance tertentu yang kamu buat dan gunakan. Member di bawah public: dapat diakses dari mana saja.
Dalam sebuah proyek, class biasanya berada di file header (Dog.h) yang hanya mendeklarasikan method-nya, sedangkan isi method tersebut berada di file .cpp. Di sana, nama setiap method ditulis dengan nama class dan :: (operator resolusi lingkup) di depannya:
// Dog.h
#include <string>
class Dog {
public:
std::string name;
std::string bark(); // hanya deklarasi
};
// Dog.cpp
#include "Dog.h"
std::string Dog::bark() {
return name + " says Woof!";
}Tantangan
MudahBuat class Dog dengan anggota dan method publik:
- Anggota publik:
name(string) danage(int) bark(): mengembalikan"<name> says Woof!"info(): mengembalikan"<name> is <age> years old"
Coba sendiri
#include <iostream>
#include "Dog.h"
int main() {
std::string name;
int age;
std::getline(std::cin, name);
std::cin >> age;
Dog dog;
dog.name = name;
dog.age = age;
std::cout << dog.bark() << std::endl;
std::cout << dog.info() << std::endl;
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Object
1Dasar-Dasar OOP
File EksternalBuild dan Kompilasi C++File Header dan File SourceNamespace dan CakupanPengantar OOP dalam C++class vs objectPointer 'this'method (Fungsi Anggota)Atribut (Anggota Data)Dasar Ctor dan DtorRingkasan: Kalkulator Sederhana4Properti class
Anggota instance vs staticGetter dan setterFungsi anggota constKata kunci mutableMethod dan variabel staticFungsi dan class friendRangkuman, Pengelola Rekening Bank7Pewarisan
Pewarisan DasarTingkat Akses pada PewarisanUrutan Pemanggilan Ctor & DtorPenimpaan methodFungsi Virtual & VTablePewarisan BergandaPewarisan VirtualRangkuman: Hierarki Karyawan2Manajemen Memori
Memori Stack vs HeapPointer dan ReferenceMemori Dinamis (new/delete)Smart Pointer di C++RAII di C++Rangkuman: Pengelola Array Dinamis5Enkapsulasi
Penentu Akses dalam C++Penentu Akses secara MendalamPenyembunyian Informasistruct vs classNested dan Inner classRangkuman, Sistem Catatan Siswa8Polimorfisme
Polimorfisme saat Compile vs RuntimeOverloading FungsiMeninjau Kembali Fungsi VirtualFungsi Virtual MurniKelas AbstrakDesain Interface di C++Casting Dinamis & RTTIRangkuman: Kalkulator Bentuk3Konstruktor & Destruktor
Konstruktor DefaultKonstruktor BerparameterKonstruktor SalinKonstruktor PindahDaftar Inisialisasi KonstruktorKonstruktor DelegasiKupas Tuntas DestruktorAturan Tiga, Lima, dan NolRangkuman: class String6Overloading Operator
Pengantar Overloading OperatorOverloading Operator AritmetikaOverloading Operator PerbandinganOperator StreamOverloading Operator PenugasanOverloading Operator [] dan ()Operator Konversi TipeRingkasan, class Matrix9Template
Template FungsiTemplate classSpesialisasi TemplateTemplate VariadikDasar SFINAE & Type TraitsRangkuman, Container GenerikLatihan sendiri: Compiler C++ online