Apa yang salah dari kode dibawah ini ?
using namespace std;
class kucing{
public: //sebaiknya variabel tidak diberi akses public
string nama;
};
int main(){
kucing kucingobj;
kucingobj.nama="memew";
cout <<kucingobj.nama;
return 0;
}
Programnya tetap jalan dengan mulus kawan, tapi cara ini bukan cara yang baik kalo kita membuat suatu program. Terutama kalo kita akan membuat program yang cukup kompleks dengan menggunakan banyak kelas.
Tapi kalo kita memang ingin dapat menggunakan variabel tersebut dikelas yang lain kita bisa membuat variabel dengan akses private. Kemudian kita buat fungsi setter untuk mengeset nilai dan getter untuk memberi nilai kembalian dengan access specifiernya dijadikan public seperti pada contoh koding dibawah ini (liat urutan angkanya saja biar mudah dimengerti) :
#include
#include
using namespace std;
class kucing{
public:
void setnama(string x){
nama = x; //3. nilai dari nama akan dipassing melalui variabel x . jadi nama=memew
}
string getnama(){
return nama; //5.nama yang sudah berubah kemudian direturn
}
private:
string nama; //1.kita sudah buat variabel nama hanya bisa diakses didalam kelas ini
};
//ini kelas main. Disini kita panggil kelas kucing
int main(){
kucing kucingobj;
kucingobj.setnama("memew"); //2. Sekarang kita set namanya = memew. Jadi x=memew
cout<<kucingobj.getnama();//4.kita minta nilai dari nama dipanggil
return 0;
}
Urutan diatas bukan urutan eksekusi program. Tapi supaya kita bisa lihat dengan cepat bagaimana variabel digunakan dengan fungsi . Jadi sebaiknya variabel kita buat private saja lalu untuk menggunakannya kita buatkan fungsi dengan akses public. Sehingga untuk menggunakan variabel tersebut kita cukup memanggil fungsinya saja. Mudah kan? ^ ^
Tidak ada komentar:
Posting Komentar