Account.h
#include <string> using namespace std;
class Account { public: explicit Account(std::string accountName) :name{ accountName } { //empty body }
void setName(std::string accountName) { name = accountName; }
std::string getName() const { return name; } private: string name; }; |
AccountTest.cpp
#include <iostream> #include "Account.h"
using namespace std;
int main() { Account account1{ "Nina Williams" }; Account account2{ "Leonardo Cohen" };
cout << "account1 name is: " << account1.getName() << endl; cout << "account2 name is: " << account2.getName() << endl; } |
자 먼저 Account.h 파일을 보자.
이 파일에는 main 함수가 존재하지 않고, class만 정의하고 있다.
이 파일은 실제 main 함수가 있는 cpp 파일에서 include되어 사용된다.
class Account를 보면 먼저 GradeBook과는 다르게 private 영역이 있다.
private은 class 외부에서 보거나 조작할 수 없는 영역이다.
그래도, 보통 private 영역에는 class에 속한 변수들이 명시된다.
이렇게 class에 속한 변수들을 맴버 변수라고 한다.
class Account 안에는 name이라는 string 변수가 하나 있다.
name에 값을 넣거나 빼기 위해서, method setName과 getName 을 정의하였다.
setName은 문자열을 받아 name에 집어넣고, getName은 name 변수의 값을 반환하여 준다.
그런데, public영역에 getName과 setName 함수 이외에 class명과 동일한 함수가 하나 정의되어 있다.
이를 생성자라고 부른다.
생성자는 class를 사용하려고 변수에 할당을 하는 시점에 자동으로 실행된다고 생각하면 된다.
AccountTest.cpp에서 Account account1{ "Nina Williams" };
여기에서 Account 생성자는 string을 받아서 name에 넣어주는 역할을 한다.
위 프로그램의 결과는
account1 name is: Nina Williams
account2 name is: Leonardo Cohen
이다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
10 | C++ 기초 - Class 맴버 변수 조작하기 | Eugene | 2020.01.04 | 750 |
9 | C++ 기초 - 기본 생성자(Default Constructor) | Eugene | 2019.12.21 | 1435 |
8 | [C/C++] N X N 배열에 달팽이 모양으로 입력 | Eugene | 2019.08.30 | 1533 |
7 | C++ 기초 - string | Eugene | 2019.08.22 | 354 |
» | C++ 기초 - Class 맴버 변수와 생성자 | Eugene | 2019.08.01 | 960 |
5 | C++ 기초 - Class | Eugene | 2019.05.17 | 626 |
4 | C++ 기초 - 재귀 함수를 이용한 최대값 구하기 | Eugene | 2019.05.15 | 519 |
3 | C++ 기초 - if를 이용하여 두 정수의 크기 비교 | Eugene | 2018.07.25 | 1987 |
2 | C++ 기초 - 두 정수 입력받아 합 구하기 | Eugene | 2017.10.21 | 5755 |
1 | C++ 기초 - Hello World! | Eugene | 2017.09.29 | 3167 |