It won't hurt to try

[C++/윈도우프로그래밍응용]12. 배열 본문

C++/윈도우프로그래밍응용

[C++/윈도우프로그래밍응용]12. 배열

yongki.doki 2021. 10. 3. 12:21

배열이란?

같은 종류의 데이터를 순차적으로 메모리에 저장하는 구조

  • 각각의 데이터는 인덱스를 통해 접근가능
  • 하나의 이름으로 대용량의 데이터를 쉽게 저장 및 처리 가능

선언

<데이터형> <배열의 이름> [<배열의 크기>];

예) int scores[8];

초기화

<데이터형> <배열의 이름> [<배열의 크기>] = {값1, 값2, 값3 ...};

예) int scores[8] = {0,1,2,3,4,5,6,7};

      int scores[] = {0,1,2,3,4,5,6,7};

범위 기반 for loop문

C++에도 향상된 for문이 있다.

for (<자료형> <변수> : 배열변수) {}

예) for (int score : scores) {}

 

※참고

   기존의 for loop문

    - for (int i = 0; i < 10; i++) {}

객체 배열

객체들이 모여있는 객체의 모음 (컨테이너)

  • 자료형의 배열 생성이 가능하 듯, 객체가 모인 배열을 생성하는 것이 가능

객체 배열 선언 문법

<클래스의 이름> <변수명>[<배열의 크기>];

예) MyCalc c[3];

객체 배열을 사용한 도서 관리 프로그램 만들기

main.cpp

#include <iostream>
#include "book.h"
using namespace std;

int main()
{
    Book books[2] = {
        Book("용기책1", 5000),
        Book("용기책2", 10000)
    };
    for(Book& book : books) {
        book.print();
    }

    return 0;
}

book.h

#ifndef BOOK_H
#define BOOK_H

#include <iostream>
#include <string>
using namespace std;

class Book
{
    string title;
    int price;
public:
    Book(string name, int price);
    void print();
};

#endif // BOOK_H

book.cpp

#include "book.h"

Book::Book(string name, int price) : title(name), price(price)
{

}
void Book::print()
{
    cout << "제목: " << title << ", 가격: " << price << endl;
}
300x250
300x250
Comments