TIL

25.12.15일자 - TIL

csh8696nb 2025. 12. 15. 21:08

C++문법 1-6강 복습, 2-1 과제 첨삭, 2-2 과제 수행

==========
C++문법 1-6강 복습

상속해준다 - 기본 클래스(부모 클래스), 겹치는 구조를 소유한다.
상속 받는다 - 파생 클래스(자식 클래스)가 받는다.
protected - 기본 클래스에서 파생에는 허용하지만 외부 접근을 제한하는(private와 유사하게) 데이터 관리 방법.
===
    Vehicle(string c, int s) : color(c), speed(s) {}
===
virtual string bark(c) - virtual 가상 함수 테이블을 생성해서 파생 클래스에서 사용할 수 있게 해준다.
 -> 동적 바인딩을 하게 된다.

x is - a y x(사자) 는 y(동물) 이다. 로 기본/파생 클래스의 기준을 생각할 수 있다.
class 멤버에 접근할 때 == .
객체 포인터로 가리키는 객체의 멤버 == ->
==========
#include <iostream>
using namespace std;

// 기본 클래스: Animal
class Animal {
public:
    // 가상 함수: 자식 클래스에서 재정의 가능
    virtual void makeSound() {
        cout << "Animal makes a sound." << endl;
    }
};

// 파생 클래스: Dog
class Dog : public Animal {
public:
    void makeSound() {
        cout << "Dog barks: Woof! Woof!" << endl;
    }
};

// 파생 클래스: Cat
class Cat : public Animal {
public:
    void makeSound() {
        cout << "Cat meows: Meow! Meow!" << endl;
    }
};

int main() {
    // Animal 타입 포인터로 다양한 객체를 가리킴
    Animal* myAnimal;
    Dog myDog;
    Cat myCat;

    // Dog 객체 가리키기
    myAnimal = &myDog;
    myAnimal->makeSound();  // Dog의 makeSound() 호출

    // Cat 객체 가리키기
    myAnimal = &myCat;
    myAnimal->makeSound();  // Cat의 makeSound() 호출

    return 0;
}
==========
virtual int memFunc() = 0; - 순수 가상 함수
반드시 파생 클래스가 순수 가상 함수를 구현해야 한다.

기본 생성자
객체가 생성할 때 호출되는 함수 : 멤버 변수의 초기화

//class - 기본 생성자가 무조껀 불림
//Fighter fighter;  - 정의 안해도, 생성자가 있다.

//struct

//built-in   - int, float...char...

//Dog 타입의 myDog라는 이름의 변수를 만들어줘....
//Dog myDog;
//우리가 독자적으로 디자인한 class::Dog 라는 데이터 타입.


//->value라는 이름의 int 타입의 변수를 만들어줘..
int value;

//객체 내부의 함수나 변수에 접근 및 호출 할 수 있다.
fighter.MakeSound();

//static <- 클래스 내부에서는 적어도
->클래서 가 공용으로 사용할 수 있는
//static (정적) 함수 호출...

스테틱 함수 스테틱 변수
::-공용 변수
//멤버 함수와의 차이점
//공용 함수  객체에 속한 함수가 아님. -> 객체의 데이터를 접근할 수 없음.
//다만 static변수만 접근할 수 있다.

int value; //메모리 할당만 됨...
int value = int(); // int의 기본 생성자가 호출되면서, 기본값인 0으로 설정

구조체
==============================
2-1 과제 첨삭 **
HP/MP를 직접 변경하는 것과 배열의 번호로 접근하는 것의 차이.

 


조원들의 과제에서 활용된 부분
check int
goto (라벨) - (라벨): 되어있는 지역으로 되돌아가는 수행

=========
is Alpha


현업 3년 정도 하면 내가 이 길이 맞는지 확신할 수 있게 된다.(한참 뒤에 알 수 있게 된다는 이야기)
f10을 누르면 사용 중인 메모리가 붉게 강조 처리되면서 보인다.


포인터는 32비트와 64비트에서 다르게 동작한다.
구조체 - 포인터를 사용한다.


.

'TIL' 카테고리의 다른 글

25.12.17일자 - TIL  (0) 2025.12.17
25.12.16일자 - TIL  (0) 2025.12.16
25.12.12일자 - TIL  (0) 2025.12.12
25.12.11일자 - TIL  (0) 2025.12.11
25.12.10일자 - TIL  (0) 2025.12.10