Pribadi. Anggota kelas yang dideklarasikan sebagai pribadi hanya dapat diakses oleh fungsi di dalam kelas. Mereka tidak diizinkan untuk diakses secara langsung oleh objek atau fungsi apa pun di luar kelas. Hanya fungsi anggota atau fungsi teman yang diizinkan untuk mengakses data pribadi anggota kelas
Kita dapat mengakses metode privat di kelas lain menggunakan fungsi virtual, Fungsi virtual adalah fungsi anggota yang dideklarasikan di dalam kelas dasar dan didefinisikan ulang (Diganti) oleh kelas turunan. Merujuk ke objek kelas turunan menggunakan pointer atau referensi ke kelas dasar dapat memanggil fungsi virtual untuk objek itu dan mengeksekusi versi fungsi kelas turunan
Program 1. Untuk mendemonstrasikan pengubah akses pribadi
C++
// C++ program to demonstrate private
// access modifier
#include <iostream>
using namespace std;
// Parent class having virtual
// function disp()
This is the protected disp method of child class The key is 10190 This is the protected disp method of child class The key is 10191
This is the protected disp method of child class The key is 10192This is the protected disp method of child class The key is 10193
This is the protected disp method of child class The key is 10194This is the protected disp method of child class The key is 10195
This is the protected disp method of child class The key is 10194This is the protected disp method of child class The key is 10197 This is the protected disp method of child class The key is 10198 This is the protected disp method of child class The key is 10199
This is the protected disp method of child class The key is 10194// C++ program to demonstrate private1
// C++ program to demonstrate private2// C++ program to demonstrate private3// C++ program to demonstrate private4
// C++ program to demonstrate private5// C++ program to demonstrate private6// C++ program to demonstrate private7 // C++ program to demonstrate private8
This is the protected disp method of child class The key is 10194// access modifier0
// access modifier_1
// access modifier_2
This is the protected disp method of child class The key is 10190 // access modifier4This is the protected disp method of child class The key is 10192 This is the protected disp method of child class The key is 10191
// access modifier7This is the protected disp method of child class The key is 10193
This is the protected disp method of child class The key is 10194#include <iostream>0 #include <iostream>1
This is the protected disp method of child class The key is 10194#include <iostream>3
This is the protected disp method of child class The key is 10194#include <iostream>5
This is the protected disp method of child class The key is 10194This is the protected disp method of child class The key is 10198 This is the protected disp method of child class The key is 10199
This is the protected disp method of child class The key is 10194// C++ program to demonstrate private1
// C++ program to demonstrate private2// C++ program to demonstrate private3using3
// C++ program to demonstrate private5// C++ program to demonstrate private6using6
// C++ program to demonstrate private5// C++ program to demonstrate private8
// C++ program to demonstrate private2// C++ program to demonstrate private3namespace1
// C++ program to demonstrate private5namespace3
This is the protected disp method of child class The key is 10194// access modifier0
This is the protected disp method of child class The key is 10192This is the protected disp method of child class The key is 10193
This is the protected disp method of child class The key is 10194namespace9
This is the protected disp method of child class The key is 10194std;1#include <iostream>0 std;3
// access modifier_1
std;_5
#include <iostream>0 std;7
// C++ program to demonstrate private1
This is the protected disp method of child class The key is 10194// Parent class having virtual0
This is the protected disp method of child class The key is 10194// Parent class having virtual2
This is the protected disp method of child class The key is 10194// Parent class having virtual4
This is the protected disp method of child class The key is 10194// Parent class having virtual6
This is the protected disp method of child class The key is 10194// Parent class having virtual8
This is the protected disp method of child class The key is 10194// function disp()0
This is the protected disp method of child class The key is 10194// function disp()2 // function disp()3
// access modifier_0
Keluaran. This is the private disp method of child class The key is 1019
Penjelasan
Pada program di atas, kelas induk memiliki fungsi void disp() yang merupakan fungsi virtual. Kelas anak telah membuat fungsi lain dengan nama yang sama i. e. , void disp() tetapi fungsi itu bersifat pribadi yang artinya tidak boleh diakses langsung oleh objek atau fungsi apa pun di luar kelas. Di main() pertama-tama kita membuat objek kelas anak dan meneruskan parameter untuk menginisialisasi variabel secret_key di kelas anak, Setelah itu, kita menyimpan alamat objek kelas anak di pointer kelas dasar ini juga disebut . Sekarang pointer kelas dasar memegang alamat objek kelas anak, tetapi ketika memanggil fungsi menggunakan pointer kelas dasar itu akan memanggil fungsi kelas dasar saja. Tetapi jika ingin memanggil fungsi kelas anak untuk membuat fungsi kelas dasar menjadi virtual. Ini juga disebut sebagai polimorfisme runtime
Terlindung. Pengubah akses terproteksi mirip dengan pengubah akses privat, perbedaannya adalah bahwa anggota kelas yang dideklarasikan sebagai Terlindungi tidak dapat diakses di luar kelas, tetapi dapat diakses oleh subkelas mana pun (kelas turunan) dari kelas tersebut