728x90
*<์น์ด๋จน๋ C++>์ ๋ณด๋ฉฐ ๊ณต๋ถํ์ฌ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
์์๋ฅผ ๋ค๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ๋ชฌ์คํฐ(Monster) ํด๋์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ค.
class Monster {
private:
string name;
int hp;
int attackDamage;
public:
Monster();
Monster(string name, int hp, int attackDamage) { ... }
...
};
๊ฐ์ฒด ์์ฑ ๋ฐฉ๋ฒ (๋์ ํ ๋น X)
์์์ ๋ฐฉ๋ฒ(Implicit)
Monster monster("๋ฌํฝ์ด", 100, 5);
Monster defMonster; // ๋ํดํธ ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ์์ฑ
๋ช ์์ ๋ฐฉ๋ฒ(Explicit)
Monster monster = Monster("๋ฌํฝ์ด", 100, 5);
Monster defMonster = Monster(); // ๋ํดํธ ์์ฑ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ์์ฑ
๋ํดํธ ์์ฑ์ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
ํจ์๋ฅผ ์ฌ์ฉํ๋ฏ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ฒด ์์ฑ์ ํ๋ฉด ์ ๋๋ค.
// Monster Monster(); ๋ฆฌํด๊ฐ์ด Monster, ๋งค๊ฐ๋ณ์๊ฐ ์๋ Monster() ํจ์๋ฅผ ์ ์ํ ๊ฒ์ผ๋ก ์ธ์
๋ช ์์ ์ผ๋ก ๋ํดํธ ์์ฑ์ ์ฌ์ฉํ๋ ๋ฒ
C++ 11 ์ดํ๋ถํฐ๋ ์ปดํ์ผ๋ฌ๊ฐ ๋ํดํธ ์์ฑ์๋ฅผ ์ฌ์ฉํ๋๋ก ๋ช ์ ๊ฐ๋ฅ
class Monster{
public:
Monster() = default;
...
};
728x90
๋ฐ์ํ
'๐ฏ๏ธLanguage > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ์ด๊ธฐํ ๋ฆฌ์คํธ(Initializer list), static (0) | 2022.02.09 |
---|---|
[C++] ๋ณต์ฌ ์์ฑ์(Copy constructor), ์์ ๋ณต์ฌ(Shallow Copy), ๊น์ ๋ณต์ฌ(Deep Copy) (0) | 2022.02.09 |
[C++] C++ ์ปดํ์ผ๋ฌ์์ ํจ์๋ฅผ ์ค๋ฒ๋ก๋ฉ(Overloading)ํ๋ ๊ณผ์ (0) | 2022.02.08 |
[C++] ์ฐธ์กฐ์(Reference) (0) | 2022.02.08 |
[C++] ์ด๋ฆ๊ณต๊ฐ(namespace) ์ฌ์ฉ ์ ์ฃผ์์ฌํญ (0) | 2022.02.07 |