Nih mau nuangin isi dari otak, berat banget malem ini rasa nya kepala , sumpah deh ga boong,konsep nya nih .. langsung..ciyaaaaaaaaaat
#include<iostream.h>
#include<string.h>
class manusia{
protected:
char nama[30];
int umur;
public:
void setnama(char *nama)
{ strcpy(this->nama,nama); }
void setumur(int umur)
{ (this->umur=umur); }
char *getnama()
{ return nama; }
int getumur()
{ return umur; }
virtual void pakaian()=0; //ini dia pure virtual function
};
class mahasiswa:public manusia{
protected :
char universitas[30];
public :
void setuniv(char *universitas)
{ strcpy(this->universitas,universitas); }
char *getuniv()
{ return universitas; }
void pakaian()
{ cout«”Celana jeans,kaos,dan kemeja”«endl; }
};
class karyawan:public manusia{
protected:
char pekerjaan[30];
public:
void setjob(char *pekerjaan)
{ strcpy(this->pekerjaan,pekerjaan); }
char *getjob()
{ return pekerjaan; }
void pakaian()
{ cout«”Jas, Dasi, dan seragam kantor”«endl; }
};
void main()
{
manusia *man;
man = new mahasiswa;
man->pakaian();
man = new karyawan;
man->pakaian();
cin.get();
}
Nah nih hasil nya nanti kek gini, cek di bawah ini :
Celana jeans,kaos,dan kemeja
Jas, Dasi, dan seragam kantor
nah itu diatas jawabannya, ya jadi gitu intinya dia bakal nampilin sesuai yang ditunjuk sama pointer man , nah itu ada kata “new” , itu sama aja kayak tanda ini “&” jadi bisa aja di ganti jadi “man=&pakaian” , tapi ga usah pake tanda petik kalo di Borland C++ atau compiler lainnya
hemm itu aja sih konsep dasarnya, sebener nya gue mau sekalian nulis tentang diamond polymorphism solution, yang pake multiple inheritance itu , tapi ntar aja deh..capek mau belajar template dulu…daaaaa…. :)
nb : eh iya itu kalo langsung di copas di compiler atau borland pasti ada 8 error, itu ada yang perlu diganti lo liat deh tanda yang « itu warna nya merah lo ganti semua aja tanda ini ” ” juga merah tulis ulang lagi aja tanda nya, terus kalo ga salah gue ada missing tanda kurung cari aja cuman ada 1 hahaha..maklum udah ngantuk