[ν΄λμ€ μ μΈλΆ]
class ν΄λμ€ μ΄λ¦
{
μ κ·Ό μ§μ μ: // public, private, protected
λ°μ΄ν° νμ λ³μλͺ
; // λ©€λ² λ³μ
λ°μ΄ν° νμ ν¨μλͺ
; // λ©€λ² ν¨μ
};
** ν΄λμ€ μ μΈλΆμμ μ€λ₯Έμͺ½ μ€κ΄νΈ } μ μΈλ―Έμ½λ‘ (;)μ μμ§ λ§μ.
[ν΄λμ€ κ΅¬νλΆ]
λ°μ΄ν° νμ ν΄λμ€ μ΄λ¦::ν¨μλͺ
()
{
ν¨μ ꡬννκΈ°;
}
ν΄λμ€ μ μΈκ³Ό ν΄λμ€ κ΅¬νμΌλ‘ λΆλ¦¬νλ μ΄μ λ ν΄λμ€λ₯Ό λ€λ₯Έ νμΌμμ νμ©νκΈ° μν¨μ΄λ€.
μμ 3-1 Circle ν΄λμ€μ κ°μ²΄ μμ± λ° νμ©
#include <iostream> // νμ€ μ
μΆλ ₯ ν€λνμΌμ λΆλ¬μ΄
using namespace std; // std μ΄λ¦ 곡κ°μ μ μΈλ λͺ¨λ μ΄λ¦μ stdλ₯Ό μλ΅
class Circle // Circle ν΄λμ€λ₯Ό μ μΈ
{
public: // ν΄λμ€λ₯Ό μΈλΆμμ μ κ·Ό νμ©
int radius; // radiusλ μ μνμΌλ‘ μ§μ
double getArea(); // ν¨μ μ΄λ¦μ getAreaλ‘ μ νκ³ , doubleλ‘ μ§μ
};
double Circle::getArea() // Circle ν΄λμ€λ₯Ό ꡬν
{
return 3.14 * radius * radius; // getArea ν¨μμλ ν΄λΉ κ²°κ³Ό κ°μ λλ €μ€
}
int main()
{
Circle donut; // κ°μ²΄ donut μμ±
donut.radius = 1; // κ°μ²΄ donutμ λ³μμ κ° μ μ₯
double area = donut.getArea(); // κ°μ²΄ donutμ κ°μ getAreaμ ν¨μμ λ£μ΄ κ³μ°νμ¬ area λ³μμ μ μ₯
cout << "donut λ©΄μ μ " << area << endl; // κ³μ°λ κ°μ μΆλ ₯νλ νν
Circle pizza; // κ°μ²΄ pizza μμ±
pizza.radius = 30; // κ°μ²΄ pizzaμ λ³μμ κ° μ μ₯
area = pizza.getArea(); // μμμ area λ³μμ νμμ μ§μ νμ¬ νμ μ§μ μ μμ. λ³μμ ν¨μ κ³μ° κ°μ μ μ₯
cout << "pizza λ©΄μ μ " << area << endl; // κ³μ°λ κ°μ μΆλ ₯νλ νν
}