목록C++/따배C++ 08강 객체지향 기초 (15)
일상 코딩
#include #include using namespace std; class Student { private: int m_id; string m_name; public: Student(const string& name_in) // : m_id(0) 이렇게 중구난방으로 초기화하기 보다는 아래 생성자를 갖다 쓴다. // , m_name(name_in) // : Student(0,name_in) { init(0,name_in); } Student(const int& id_in, const string& name_in) // : m_id(id_in) // , m_name(name_in) { init(id_in,name_in); } // 만능 초기화 함수를 생성 후 생성자에서 직접 초기화하지 않고 초기화 함수..
#include using namespace std; class B { private: int m_b; public: B(const int& m_b_in) : m_b(m_b_in) {} }; class Something { private: int m_i = 100; double m_d = 100.0; char m_c = 'F'; int m_arr[5] = {100, 200, 300, 400, 500}; B m_b{ 1024 }; // 여기서 초기화를 하더라도 생성자가 우선이라 생성자에서 대입한 값으로 출력됨. public: Something() // '{}'를 쓰면 자동으로 형변환이 안되어 좀 더 엄격해진다. : m_i{1}, m_d{3.14}, m_c{'a'}, m_arr{1,2,3,4,5}, m_b(..
#include using namespace std; class Fraction { private: int m_numerator; int m_denominator; public: Fraction(const int& num_in = 1, const int& den_in = 1) // 생성자, 외부 호출 아님. { m_numerator = num_in; m_denominator = den_in; cout
#include #include #include using namespace std; class Date { // 기본이 private으로 설정되어있음. 안적어도 무방함. private: // access specifier int m_month; int m_day; int m_year; public: void setDate(const int& day_input, const int& year_input) { m_day = day_input; m_year = year_input; } void setMonth(const int& month_input) { m_month = month_input; } const int& getDay() // const로 수정을 막아준다. { return m_day; } void..
#include #include #include using namespace std; // Object(객체) - 코드로 구현한 단어를 class라 부른다. // class Friend{ //sturct는 아 코드가 안들감. public: // access specifier (public, private, protected(상속 단원)) string m_name; string m_address; int m_age; double m_height; double m_weight; void print(){ cout