#220825 - 이어서 쭉쭉
class A1
{
int a;
public:
A1(int i){a=i;}
int getA() {return a;}
};
class A2
{
int b;
public:
A2(int i){b=i;}
int getB() {return b;}
};
class B:public A1, public A2{ //아버지, 어머니 모두 public으로 받아옴!
//기본 클래스 A1과 A2로부터 상속받은 파생 클래스
int c; //private
public:
//각각 매개변수가 있고 받아오면 됨!
B(int i, int j, int k):A1(i),A2(j) {c=k;}
//i는 기본클래스 A1의 생성자료, j는 A2의 생성자료
//각각 매개변수 전달
void show(){
std::cout << getA() << ' ' << getB() << ' ' << c << std::endl;
}
};
int main()
{
B bb(1,2,3);
bb.show();
return 0;
}
class Name{ // 기본 클래스는 이름만 처리
std::string name;
public:
void get_name(std::string s) {name=s;}
void print_name() {std::cout << name << "의 전화번호는";}
};
class phone: public Name { // 파생클래스는 전화번호 처리 (public으로 상속을 받고)
std::string phone;
public:
void get_phone(std::string s) {phone=s;}
void print_phone(){
print_name();
std::cout << phone << " " << std::endl;
}
};
int main(){
phone h;
h.get_name("smile Han");
h.get_phone("1234-5678");
h.print_phone();
return 0;
}
Smile Han의 전화번호는 1234-5678
기본 클래스 Airship -> 운반할 수 있는 여행객의 수와 짐 저장
Airship 으로부터 파생된 클래스 Airplane -> 엔진의 종류 (프로펠러 or 제트) 운항거리 저장
Airship 으로부터 파생된 클래스 Balloon -> 기구를 들어올리는 데 사용되는 가스의 종류 (수소 or 헬륨)와 최대고도 저장
// Airship: 운반할 수 있는 '여행객의 수'와 '짐의 양'을 저장
class Airship{
protected:
int passenger;
double cargo;
public:
void a_show();
};
void Airship::a_show()
{
std::cout << "승객 수: " << passenger << std::endl;
std::cout << "짐의 양: " << cargo << std::endl;
}
// Airplane: 엔진의 종류(프로펠러 또는 제트)와 운항 거리 저장
class Airplane:public Airship{
// private ??????
char engine;
double range;
public:
Airplane(int p, double c, char e, double r)
{
passenger=p;
cargo=c;
engine=e;
range=r;
}
void show();
};
// Balloon: 기구를 들어올리는데 사용되는 가스의 종류(수소 or 헬륨)
class Balloon:public Airship{
char gas;
double altitude;
public:
Balloon(int p, double c, char g, double a){
passenger=p;
cargo=c;
gas=g;
altitude=a;}
void show();
};
void Airplane::show(){
a_show();
std::cout << "엔진 : ";
// 'p'가들어가면 프로펠러, 아니면 제트
std::cout << ((engine=='p') ? "프로펠러\n": "제트\n");
std::cout << "운항 거리 : " << range << std::endl;
}
void Balloon::show(){
a_show();
std::cout << "가스: ";
// 'h'가 들어가면 가스 아니면 수소
std::cout << ((gas=='h') ? "헬륨\n" : "수소\n");
std::cout << "최대 고도 : " << altitude << std::endl;
}
int main(){
Airplane B747(200, 5000.0, 'j', 1000.0);
Balloon b(4, 100.0, 'h', 5000.0);
B747.show(); std::cout << std::endl;
b.show();
return 0;
}
승객 수: 200
짐의 양: 5000
엔진 : 제트
운항 거리 : 1000
승객 수: 4
짐의 양: 100
가스: 헬륨
최대 고도 : 5000
using std::string;
class Man{
protected:
string name;
int age;
public:
Man(string n, int a){
name = n;
age = a;
}
void m_show();
};
void Man::m_show()
{
std::cout << "이름: " << name << std::endl;
std::cout << "나이: " << age << std::endl;
}
class Student: public Man{
string Ban;
string Hak;
public:
Student(string s, int a, string b, string h):Man(s,a)
{
Ban = b;
Hak = h;
}
void s_show();
};
void Student::s_show(){
m_show();
std::cout << "반: " << Ban << std::endl;
std::cout << "학번: " << Hak << std::endl;
}
class Teacher: public Man{
string Jun;
string Dam;
public:
Teacher(string s, int a, string j, string d):Man(s,a)
{
Jun=j;
Dam=d;
}
void t_show();
};
void Teacher::t_show(){
m_show();
std::cout << "전공: " << Jun << std::endl;
std::cout << "담당과목: " << Dam << std::endl;
}
int main()
{
Student kks("김컴소", 20, "C반", "20114679");
Teacher hsh("한미소", 40, "전산", "C++프로그래밍");
kks.s_show();
hsh.t_show();
return 0;
}
이름: 김컴소
나이: 20
반: C반
학번: 20114679
이름: 한미소
나이: 40
전공: 전산
담당과목: C++프로그래밍
class A{
private:
int age;
public:
A() {age=1;}
A(int) {age=a;}
}
class A{
public:
virtual int ss(int i) {return(i*2);}
};
class B: public A {
public:
int ss(int i){return(i*3);}
};