class A
{
private:
int m_A;
};
class B : public A
// : public A
{
private:
int m_B;
};
class C : public B
{
private:
int m_C;
};
int main()
{
// 1
A a;
// 2
B b;
// 3
C c;
return 0;
}
class A
{
private:
int m_A;
public:
// 1
void SetA(int _a)
{
m_A = _a;
}
};
class B : public A
{
private:
int m_B;
public:
// 2
void SetB(int _b)
{
m_B = _b;
}
int GetB()
{
return m_B;
}
};
class C : public B
{
private:
int m_C;
public:
// 3
void SetC(int _c)
{
m_A = _c;
m_B = _c;
this->m_C = _c;
}
};
a.SetA(10);
b.SetA(20);
c.SetA(30);
b.SetB(10);
c.SetB(1000);
c.SetC(10);
class A
{
protected:
int m_A;
public:
void SetA(int _a)
{
m_A = _a;
}
};
class B : public A
{
// 1
// private:
protected:
int m_B;
public:
void SetB(int _b)
{
m_B = _b;
}
int GetB()
{
return m_B;
}
};
class C : public B
{
int m_C;
public:
void SetC(int _c)
{
m_A = _c;
m_B = _c;
m_C = _c;
}
};
protected
대신 private
을 적어두면 B클래스를 상속받은 C클래스도 m_B
에 접근을 못한다.private
protected
#include <iostream>
class A
{
protected:
int m_A;
public:
void SetA(int _a)
{
m_A = _a;
}
};
class B : public A
{
protected:
int m_B;
public:
void SetB(int _b)
{
m_B = _b;
}
int GetB()
{
return m_B;
}
};
// C 클래스는 B 클래스를 상속받았다.
class C : public B
{
private:
int m_C;
public:
void SetC(int _c)
{
m_A = _c;
m_B = _c;
m_C = _c;
}
};
int main()
{
A a;
B b;
C c;
a.SetA(10);
b.SetA(20);
c.SetA(30);
b.SetB(10);
c.SetB(10);
c.SetC(10);
return 0;
}
1차 24.01.11
2차 24.01.12
3차 24.01.15
4차 24.01.16
5차 24.01.17