1. ํ
ํ๋ฆฟ'ํํ'์ด๋ผ๋ ์๋ฏธ, ๋ถ์ด๋นต ํ ๊ฐ์ ๊ฑฐ์ฌ๋ฃ๋ง ๊ฐ์ง๊ณ ๋๊ฐ์ ๋ชจ์์ผ๋ก ์ฐ์ด๋ผ ์ ์์ผ๋ฉฐ, ๋ฃ๋ ์ฌ๋ฃ์ ๋ฐ๋ผ ๋ด์ฉ๋ฌผ์ ์กฐ๊ธ์ฉ ๋ฌ๋ผ์ง๋ค.๊ธฐ๋ฅ์ ์ด๋ฏธ ๊ฒฐ์ ๋์ด ์์ผ๋, ์๋ฃํ์ด ์ ํด์ง์ง ์๋๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค.ํจ์ ํ
ํ๋ฆฟ : ํจ์๋ฅผ ์ฐ์ด๋ด๋ ํํด๋์ค ํ
ํ๋ฆฟ : ํด๋์ค๋ฅผ ์ฐ์ด๋ด๋ ํ 2. ํจ์ ํ
ํ๋ฆฟ#include using namespace std;templatevoid Swap(T& num1, T& num2){ T temp = num1; num1 = num2; num2 = temp;}int main(){ int num1=10, num2=40; cout before, num1: 10, num2: 40after, num1: 40, num2: 10before, num1: 15.6, num2: 14..
๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ/๐ C++
๐ฉ ํ์ค string ํด๋์คํค๋ํ์ผ ์ ํฌํจํด์ผ ํ๋ค.string ํด๋์ค๋ ํ์ค ํด๋์ค๋ก์จ ๋ฌธ์์ด์ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ ๊ณต๋๋ ํด๋์ค 1. ๋ฌธ์์ด์ ์ธ์๋ก ์ ๋ฌ๋ฐ๋ ์์ฑ์์ ์ ์string str1 = "I like "; ๐ string str1("I like ");string str2 = "string class"; ๐ string str2("string class"); 2. ์์ฑ์, ์๋ฉธ์, ๋ณต์ฌ ์์ฑ์, ๋์
์ฐ์ฐ์์ ์ ์์์ฑ์ ๋ด์์ ๋ฌธ์์ด ์ ์ฅ์ ์ํ ๋ฉ๋ชจ๋ฆฌ์ ๋์ ํ ๋น์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก 3. ๊ฒฐํฉ๋ ๋ฌธ์์ด๋ก ์ด๊ธฐํ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ + ์ฐ์ฐ์์ ์ค๋ฒ๋ก๋ฉstring str3 = str1 + str2;str1 + str2์ ๋ฐํ๊ฐ์ผ๋ก ๋ ๊ฐ์ฒด์ ๋ฌธ์์ด์ ๋ชจ๋ ํฌํจํ๋ string ๊ฐ์ฒด๊ฐ ๋ฐํ๋๋๋ก ..

๐ฉ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉํจ์ ์ค๋ฒ๋ก๋ฉ, ์์ฑ์ ์ค๋ฒ๋ก๋ฉ์ ํจ์๋ช
, ์์ฑ์๋ช
์ด ๊ฐ์ผ๋ ๋งค๊ฐ๋ณ์์ ์๋ฃํ์ด๋ ์๊ฐ ๋ค๋ฅธ ํจ์์ด๋ค. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉด์ ์ฐ์ฐ์๋ฅผ ์ถ๊ฐํ ์ ์์๊น?#include using namespace std;class NUMBOX{private: int num1, num2;public: NUMBOX(int num1, int num2) : num1(num1), num2(num2) { } void ShowNumber() { cout ๐ท๏ธ ์๋ฌ1 IntelliSense: ์ด๋ฌํ ํผ์ฐ์ฐ์์ ์ผ์นํ๋ "+" ์ฐ์ฐ์๊ฐ ์์ต๋๋ค. ํผ์ฐ์ฐ์ ํ์์ด NUMBOX + NUMBOX์
๋๋ค. c:\Users\h4ckfory0u\Documents\Visual St..

EX) ๋ชฌ์คํฐ ๊ตฌ์กฐ์ฒด์์ Attack ํจ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด, ๋ชฌ์คํฐ A๋ Attack ํจ์๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ๋ชฌ์คํฐ B๋ ๊ฐ์ Attack ํจ์๋ฅผ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.๐ ๋ค์์ ๊ฐ์ฒด๊ฐ ๋ฉค๋ฒํจ์๋ฅผ ๊ณต์ ํ๋ ํํ๋ค๋ง, ํจ์ ํธ์ถ์ ๊ฐ์ฒด์ ์ ๋ณด๊ฐ ์ ๋ฌ์ด ๋๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจ์๊ฐ ์คํ๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด ์์ ๋ฉค๋ฒํจ์๊ฐ ์กด์ฌํ๋ ํํ์ด๋ค.๊ฐ์ฒด๊ฐ ์์ฑ๋๋ฉด, ๋ฉค๋ฒ๋ณ์๋ ๊ฐ์ฒด ๋ด๋ถ์ ์กด์ฌํ์ง๋ง, ๋ฉค๋ฒํจ์๋ ๋ฉ๋ชจ๋ฆฌ์ ํ ๊ณต๊ฐ์ ๋ณ๋๋ก ์์นํ๋ค.์ด ํจ์๊ฐ ์ ์๋ ํด๋์ค์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์ด๋ฅผ ๊ณต์ ํ๋ ํํ๋ฅผ ๊ฐ์ง๋ค. ๐ฉ ๊ฐ์ํจ์ ํ
์ด๋ธ์ค์ ํธ์ถ๋์ด์ผ ํ ํจ์์ ์์น์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ํ
์ด๋ธํ ๊ฐ ์ด์์ ๊ฐ์ํจ์(virtual ํจ์)๋ฅผ ํฌํจํ๋ ํด๋์ค์ ๋ํด์๋ ์ปดํ์ผ๋ฌ๊ฐ '๊ฐ์ํจ์ ํ
์ด๋ธ'์ด๋ผ๋ ๊ฒ์ ๋ง๋ ๋ค.๋งค ํจ์ํธ์ถ์๋ง๋ค ..

๐๊ฐ์ฒด์ ์ฃผ์๊ฐ์ ์ ์ฅํ๋ ๊ฐ์ฒด ํฌ์ธํฐ ๋ณ์C++์์ AAAํ ํฌ์ธํฐ ๋ณ์๋ AAA ๊ฐ์ฒด ๋๋ AAA๋ฅผ ์ง์ ํน์ ๊ฐ์ ์ ์ผ๋ก ์์ํ๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๋ค.๐ ๊ฐ์ฒด์ ์ฃผ์๊ฐ์ ์ ์ฅํ ์ ์๋ค. EX) Person โ Student โ PartTimeStudentPerson * ptr = new Student();Person * ptr = new PartTimeStudent();Student * ptr = new PartTimeStudent(); IS-A ๊ด๊ณ๋ก ๋ด๋ณด์!"ํ์์ ์ฌ๋์ ์ผ์ข
์ด๋ค""๊ทผ๋กํ์์ ํ์์ ์ผ์ข
์ด๋ค""๊ทผ๋กํ์์ ์ฌ๋์ ์ผ์ข
์ด๋ค" ๐ ํ์ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ ํด๋์ค ๊ฐ์ฒด๋ก ๋ฐ๋ผ๋ณผ ์ ์๋ ์ฆ๊ฑฐ"ํ์์ ์ฌ๋์ด๋ค""๊ทผ๋กํ์์ ํ์์ด๋ค""๊ทผ๋กํ์์ ์ฌ๋์ด๋ค" EX2) ๋ชจ๋ ํด๋..

๐ฉ ๊ธฐ์กด์ ์ ์ํด ๋์ ํด๋์ค์ ์ฌํ์ฉ์ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ๋ฌธ๋ฒ์ ์์ ์ข์ ์ฝ๋๋ ์๊ตฌ์ฌํญ์ ๋ณ๊ฒฝ ๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐ์ ๋ฐ๋ฅธ ๋ณ๊ฒฝ์ด ์ต์ํ๋์ด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ํ ํด๊ฒฐ์ฑ
์ผ๋ก ์์์ด ์ฌ์ฉ๋๋ค. class Person { private: int age; char name[50]; public: Person(int myAge, char * myName) : age(myAge){ } void WhatYourName() const { } void HowOldAreYou() const { } } class Student : public Person { // Person ํด๋์ค๋ฅผ public ์์ํจ private: char major[50]; public: Student(char *myName, int myAg..

// C ์คํ์ผ ์ด๊ธฐํ int num = 20; int &ref = num; // C++ ์คํ์ผ ์ด๊ธฐํ int num(20); int &ref(num); ์ ๋ฌธ์ฅ๋ค์ ๋ชจ๋ ๋์ผํ๋ค. class SoSimple{ private: int num1; int num2; public: SoSimple(int n1, int n2) : num1(n1), num2(n2){} void ShowSimpleData(){ cout

๐ฉ ๊ฐ์ฒด ๋ฐฐ์ด ๊ฐ์ฒด๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด ๋ฐ๋ผ์, ๋ฐฐ์ด ์์ฑ์ ๊ฐ์ฒด๊ฐ ํจ๊ป ์์ฑ๋๋ค. Person arr[3]; Person * per = new Person[3]; ๐ฉ ๊ฐ์ฒด ํฌ์ธํฐ ๋ฐฐ์ด ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์๋ ํฌ์ธํฐ ๋ณ์๋ก ์ด๋ค์ง ๋ฐฐ์ด ๋ฐ๋ผ์ ๋ณ๋์ ๊ฐ์ฒด ์์ฑ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค. Person * arr[3]; arr[0] = new Person(name, age); arr[1] = new Person(name, age); arr[2] = new Person(name, age); ๊ฐ์ฒด ๊ด๋ จ ๋ฐฐ์ด์ ์ ์ธํ ๋๋ ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ธํ ์ง, ๊ฐ์ฒด ํฌ์ธํฐ ๋ฐฐ์ด์ ์ ์ธํ ์ง๋ฅผ ๋จผ์ ๊ฒฐ์ ํด์ผ ํ๋ค. ๐ฉ this ํฌ์ธํฐ ๊ทธ ๊ฐ์ด ๊ฒฐ์ ๋์ด ์์ง ์์ ํฌ์ธํฐ์ด๋ค. ์๋ํ๋ฉด this ํฌ์ธํฐ๋ this๊ฐ ์ฌ์ฉ๋ ๊ฐ์ฒด ์์ ์ ์ฃผ์๊ฐ์..
๐ฉ ์์ฑ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ์์ ์ ์๋์ผ๋ก ํธ์ถ๋๋ ๋ฉค๋ฒ ํจ์๋ก ํด๋์ค ์ด๋ฆ๊ณผ ๋์ผํ ๋ฉค๋ฒ ํจ์์ด๋ค. ๋, ํจ์ ํน์ ์ ๋ฆฌํด ํ์
์ ์ง์ ํ๋ฉด ์๋๋ค. class Circle { Circle(); Circle(int radius); }; Circle::Circle() { radius = 10; cout
๋ฉค๋ฒ๋ณ์์ ์ธ๋ถ์ ๊ทผ์ ํ์ฉํ๋ฉด(public ์ฌ์ฉ), ์๋ชป๋ ๊ฐ์ด ์ ์ฅ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ๋ฐ๋ผ์, ๋ฉค๋ฒ๋ณ์์ ์ธ๋ถ์ ๊ทผ์ ๋ง๊ฒ ๋๋๋ฐ, ์ด๋ฅผ ๊ฐ๋ฆฌ์ผ ์ ๋ณด ์๋์ด๋ผ ํ๋ค. EX) public int x; // 0์ด์ 100์ดํ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ด ๋ค์ด์จ๋ค๋ ๋ฒ์ด ์๋ค. ๐ ํด๋์ค์ ๋ฉค๋ฒ๋ณ์๋ฅผ private์ผ๋ก ์ ์ธํ๊ณ , ํด๋น ๋ณ์์ ์ ๊ทผํ๋ ํจ์๋ฅผ ๋ณ๋๋ก ์ ์ํด์, ์์ ํ ํํ๋ก ๋ฉค๋ฒ๋ณ์์ ์ ๊ทผ์ ์ ๋ํ๋ ๊ฒ์ด ๋ฐ๋ก '์ ๋ณด ์๋'์ด๋ฉฐ, ์ด๋ ์ข์ ํด๋์ค๊ฐ ๋๊ธฐ ์ํ ๊ธฐ๋ณธ ์กฐ๊ฑด์ด๋ค. ๐ ๋ณ๋๋ก ์ ์๋ ํจ์์์ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ ๋ถ๋ฌ์ค๋๋ก ์กฐ๊ฑด์ ์ค์ ํ ์ ์๋ค. ๐ ํจ์๋ง ํ ๋ฒ ์ ์ ์๋๋ฉด ์๋ชป๋ ์ ๊ทผ์ ์์ฒ์ ์ผ๋ก ์ฐจ๋จ๋๋ค. ๐ฉ const ํจ์ const ํจ์ ๋ด์์๋ ๋์ผ ํด๋์ค์ ์ ์ธ๋ ๋ฉค๋ฒ๋ณ์์..
๐ ๊ฐ์ฒด์ ๋ํ ๊ฐ๋จํ ์ ์ ์ฌ์ ์ ์๋ฏธ : ๋ฌผ๊ฑด/๋์ ๐ฉ ๊ฐ์ฒด ์ค์ฌ์ ํ๋ก๊ทธ๋๋ฐ "๋๋ ๊ณผ์ผ์ฅ์์๊ฒ ๋ ๊ฐ์ ์ฌ๊ณผ๋ฅผ ๊ตฌ๋งคํ๋ค" ๊ฐ์ฒด ๐ ๋, ๊ณผ์ผ์ฅ์, ์ฌ๊ณผ ๋ฐ์ดํฐ ๐ ๋ ๊ฐ ํ์, ๊ธฐ๋ฅ ๐ ๊ตฌ๋งคํ๋ค. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋, ๊ณผ์ผ์ฅ์, ์ฌ๊ณผ๋ผ๋ ๊ฐ์ฒด๋ฅผ ๋ฑ์ฅ์์ผ ๋ ๊ฐ์ ์ฌ๊ณผ ๊ตฌ๋งค๋ผ๋ ํ์๋ฅผ ์ค์ฒดํํ๋ค. ํ์ค์ ์กด์ฌํ๋ ์ฌ๋ฌผ๊ณผ ๋์, ๊ทธ๋ฆฌ๊ณ ๊ทธ์ ๋ฐ๋ฅธ ํ๋์ ์๋ ๊ทธ๋๋ก ์ค์ฒดํ์ํค๋ ํํ์ ํ๋ก๊ทธ๋๋ฐ ๐ฉ ๊ฐ์ฒด = ๋ฐ์ดํฐ + ๊ธฐ๋ฅ ๐ ๊ฐ์ฒด ํํ (ํ์) ๊ณผ์ผ์ฅ์๋ ๊ณผ์ผ์ ํ๋ค. (์ํ) ๊ณผ์ผ์ฅ์๋ ์ฌ๊ณผ 20๊ฐ, ์ค๋ ์ง 10๊ฐ๋ฅผ ๋ณด์ ํ๊ณ ์๋ค. ๐ ๋ฐ์ดํฐ ํํ(๋ณ์ ์ ์ธ) ๋ณด์ ํ๊ณ ์๋ ์ฌ๊ณผ์ ์ : int numOfApples; ํ๋งค ์์ต : int myMoney; ๊ณผ์ผ ๊ฐ : const int A..
์ฐ๊ด์๋ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๋ฌถ์ผ๋ฉด ํ๋ก๊ทธ๋จ์ ๊ตฌํ ๋ฐ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ค. ๐ ๊ตฌ์กฐ์ฒด๋ ์ฐ๊ด์๋ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๋ฌถ๋ ๋ฌธ๋ฒ์ ์ฅ์น ์ฐ๊ด์๋ ๋ฐ์ดํฐ๋ค์ ์์ฑ ๋ฐ ์๋ฉธ์ ์์ ์ด ์ผ์นํ๊ณ , ์ด๋ ๋ฐ ์ ๋ฌ์ ์์ , ๋ฐฉ๋ฒ์ด ์ผ์นํ๊ธฐ ๋๋ฌธ์ ํ๋์ ์๋ฃํ์ผ๋ก ๋ฌถ์ด์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ฉ์ดํ๋ค. struct Car{ char gamerID[ID_LEN]; int fuelGauge; int curSpeed; }; ๐ฉ ๊ตฌ์กฐ์ฒด ๋ณ์ ์ ์ธ, ์์ฑ // ๊ตฌ์กฐ์ฒด ์ ์ธ Car basicCar; // cf. struct Car basicCar; // ๊ตฌ์กฐ์ฒด ์์ฑ Car run99 = {"run99", 100, 0}; struct ํค์๋์ ์๋ต์ ์ํ typedef ์ ์ธ ๋ถํ์ ๊ตฌ์กฐ์ฒด ๋ณ์๋ง๋ค ํจ์๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ ๊ตฌ์กฐ๋ ์๋์ง๋ง, ๋
ผ..