본문 바로가기

C++

(19)
[C++]멤버함수에서 멤버에 접근하기 12345678910111213141516171819202122232425262728293031323334353637383940 class AccessControl{public: char publicData; void publicFunc() {}; protected: int protectedData; void protectedFunc() {}; private: float privateData; void privateFunc() {}; public: void AccessAllMembers();}; void AccessControl::AccessAllMembers(){ publicData = 'A'; // 성공 publicFunc(); // 성공 protectedData = 100; // 성공 protect..
[C++] 접근 권한의 지정 123456789101112131415161718192021222324252627282930class AccessControl{public: char publicData; void publicFunc() {}; protected: int protectedData; void protectedFunc() {}; private: float privateData; void privateFunc() {};}; int main(){ // 객체를 생성하고, 각 멤버에 접근해보자 AccessControl ac; ac.publicData = 'A'; // 성공 ac.publicFunc(); // 성공 ac.protectedData = 100; // 실패 ac.protectedFunc(); // 실패 ac.privateD..
[C++] 동적인 배열 클래스 - 소멸자의 사용 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 #include using namespace std; class DynamicArray{public: int* arr; DynamicArray(int arraySize); ~DynamicArray();}; DynamicArray::DynamicArray(int arraySize){ // 동적으로 메모리를 할당한다. arr = new int[arraySize];} DynamicArray::~DynamicArray(){ // 메모리를 해제한다. delete[] arr; arr = NULL;} int main(){ // 몇 개..
[C++]멤버 초기화 리스트를 사용 - 인자의 사용 12345678910111213141516171819202122232425262728293031323334353637383940414243 #include using namespace std; class NeedConstructor{public: const int maxCount; int& ref; int sample; NeedConstructor(); NeedConstructor(int count, int& number);// 두개의 인자가 있는 생성자 추가 }; NeedConstructor::NeedConstructor(int count, int& number)// 두개의 인자가 있는 생성자 추가 : maxCount(count), ref(number){ sample = 200;} N..
[C++] 복사생성자 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include using namespace std; // Point 클래스를 정의한다.class Point{public: // 멤버 변수 int x, y; // 멤버 함수 void Print(); // 생성자들 Point(); Point(int initialX, int initialY); Point(const Point& pt);}; Point::Point(const Point& pt){ cout << "복사 생성자 호출됨!!\n"; x = pt.x; y = pt.y;} Poin..
[C++] 함수 안에서 정의한 변수와 멤버 변수의 이름이 같은 경우 12345678910111213141516171819202122232425262728293031323334353637383940 #include using namespace std; // Point 클래스를 정의한다.class Point{public: // 멤버 변수 int x, y; // 멤버 함수 void Print();}; // 멤버 함수void Point::Print(){ int x = 333; cout << "( " << x << ", " << y << ")\n";} int main(){ // 객체를 생성한다. Point pt1, pt2; // pt1, pt2를 초기화 한다. pt1.x = 100; pt1.y = 100; pt2.x = 200; pt2.y = 200; // pt..
[C++] 클래스 밖에서 정의한 맴버 변수 예제 1234567891011121314151617181920212223242526272829303132333435363738 #include using namespace std; // Point 클래스를 정의한다.class Point{public: // 멤버 변수 int x, y; // 멤버 함수 void Print();}; void Point::Print() //Point::print()에서 '::'의 역할은 'Point클래스의print함수이다' 라는 뜻으로 이해하시면 됩니다.{ cout << "( " << x << ", " << y << ")\n";} //클래스의 정의 부분을 밖으로 빼냄으로써 Point 클래스 부분이 훨씬 간결해졌다.int main(){ // 객체를 생성한다. Poin..
[C++] 객체의 생성과 사용 기본 예제 1234567891011121314151617181920212223242526272829303132333435#include using namespace std; // Point 클래스를 정의한다.class Point{public: // 멤버 변수 int x, y; // 멤버 함수 void Print() { cout << "( " << x << ", " << y << ")\n"; }}; int main(){ // 객체를 생성한다. Point pt1, pt2; // pt1, pt2를 초기화 한다. pt1.x = 100; pt1.y = 100; pt2.x = 200; pt2.y = 200; // pt1, p2의 내용을 출력한다. pt1.Print(); pt2.Print(); return 0..