Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- //a. Desain klas dengan nama Time yang mempunyai tiga data anggota yaitu hour, minute dan second dengan level akses adalah private.
- //Selain fungsi anggota baku constructor dan destructor,
- //class Time juga mempunyai tiga fungsi anggota lain yang prototipenya adalah sebagai berikut: void setData() , fungsi konstant void geData() dan fungsi konstant void printData().
- //Tugas ketiga fungsi terakhir ini adalah sebagai berikut: fungsi setData() untuk memberi nilai hour, minute dan second , fungsi getData() untuk mengambil nilai data yang diisi oleh fungsi setData(),
- //sedangkan fungsi printData() untukmencetak ketiga data anggota tersebut.
- class time{
- //Desain klas dengan nama Time yang mempunyai tiga data anggota yaitu hour, minute dan second dengan level akses adalah private.
- private :
- int hour;
- int minute;
- int second;
- // Selain fungsi anggota baku constructor dan destructor
- public:
- time(){
- hour=minute=second=0;
- }//constructor;
- ~time(){
- cout<<"Data Deleted";
- cin.get();
- }//destructor
- ///class Time juga mempunyai tiga fungsi anggota lain yang prototipenya adalah sebagai berikut: void setData() , fungsi konstant void geData() dan fungsi konstant void printData().
- void setData(int h,int m,int s);
- int getData()const;
- void printData()const;
- };
- //b. Definisikan atau implementasikan constructor dan destructor di dalam klas sedangkan fungsi setData() , getData() dan printData() di luar klas Time.
- //Untuk definisi fungsi yang ada di luar class jangan lupa untuk menggunakan scope resolution operator.
- void time::setData(int h,int m,int s){
- hour=h;
- minute=m;
- second=s;
- }
- int time::getData()const{
- return hour;
- return minute;
- return second;
- }
- void time::printData()const{
- getData();
- cout<<"Time <"<<hour<<":"<<minute<<":"<<second<<">"<<endl;
- cin.get();
- }
- //c. Berikan alasan mengapa fungsi getData() dan printData() perlu dibuat konstant?
- //dalam getData harus konstant untuk menghindari pengubahan data secara tidak sengaja, sedangkan untuk fungsi printData dibuat const agar dapat memanggil fungsi getData yang bersifat const
- //d. Selanjutnya tulis fungsi main() untuk mengetes klas yang Anda desain.
- int main(){
- time t; int j=-1,m=-1,s=-1;
- while(j<0||j>24){
- cout<<"Masukan Jam[0...24]: ";
- cin>>j;cin.sync();cin.clear();
- }
- while(m<0||m>59){
- cout<<"Masukan Menit[0...59] : ";
- cin>>m;cin.sync();cin.clear();
- }
- while(s<0||s>59){
- cout<<"Masukan Detik[0...59] : ";
- cin>>s;cin.sync();cin.clear();
- }
- t.setData(j,m,s);
- t.printData();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement