-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmultilevel_inheritance.cpp
More file actions
64 lines (52 loc) · 1.24 KB
/
multilevel_inheritance.cpp
File metadata and controls
64 lines (52 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <string>
class MakhlukHidup {
public:
MakhlukHidup(std::string nama, int usia) {
nama_makhluk = nama;
usia_makhluk = usia;
}
void bernapas() {
std::cout << nama_makhluk << " sedang bernapas" << std::endl;
}
protected:
std::string nama_makhluk;
int usia_makhluk;
};
class Manusia : public MakhlukHidup {
public:
Manusia(std::string nama, int usia, std::string pekerjaan)
: MakhlukHidup(nama, usia) {
pekerjaan_manusia = pekerjaan;
}
void bekerja() {
std::cout << nama_makhluk << " adalah seorang " << pekerjaan_manusia
<< std::endl;
}
protected:
std::string pekerjaan_manusia;
};
class Programmer : public Manusia {
public:
Programmer(std::string nama, int usia, std::string pekerjaan,
std::string bahasa)
: Manusia(nama, usia, pekerjaan) {
bahasa_pemrograman = bahasa;
}
void ngoding() {
bernapas();
bekerja();
std::cout << nama_makhluk << " menggunakan bahasa pemrograman "
<< bahasa_pemrograman << std::endl;
}
private:
std::string bahasa_pemrograman;
};
int main() {
Programmer arfy("arfy", 24, "swe", "c++");
// arfy.ngoding();
arfy.bernapas();
arfy.bekerja();
arfy.ngoding();
return 0;
}