[[TableOfContents]] == 시간 및 장소 == * 14 : 20 ~ 15 : 20 * 제로페이지 학회실 == 참가자 == || [권준혁] || [장혁재] || [유재범] || [성훈] || || 참석 || 불참 || 참석 || 참석 || == 내용 == * 생성자는 함수와 비슷합니다. * 생성자는 클래스와 이름이 같습니다. * 그래서 함수처럼 오버라이딩이 됩니다. * 생성자는 사실 만들 필요가 없습니다. * 다만 만들지 않으면 자동으로 만들어지게 됩니다. * 외부에서 Input이 Void인 생성자는 밖에서 선언 하여 쓸 수 없습니다. * 왜냐하면 클래스와 이름이 같아 input이 void인 생성자는 클래스를 가리키는지 생성자를 가리키는지 모르기 때문입니다. * 소멸자는 생성자가 생길 때 자동으로 생깁니다. * 하지만 직접 만들 수도 있습니다. * 소멸자는 생성자의 이름 앞에 '~'를 붙여서 짝을 지어요. * this 포인터는 함수에서 받는 변수와 클래스 내부에서 선언된 변수가 같을 때, 클래스 내부에서 선언된 변수의 값을 바꾸고 싶을 때 선언하는 '''자기자신 선언 포인터'''입니다. * 이 내용은 많은 오류를 포함하고 있습니다? * 생성자, 소멸자 * this 포인터와 class와 배열 == 과제 == * 회원 정보 입출력기를 만들어봅시다. * 이름, 학년, 기수, 학번, 전화번호를 입력 받습니다. * 내용이 입력되지 않으면 자동으로 "SECRET"(혹은 비슷한 의미)~~(권준혁 학우의 비미쯔를 기대해봅니다.)~~을 출력합니다. * 내용 출력 후에는 "잘 부탁드립니다!"를 자동으로 출력하도록 해봅시다. * 최대 50명의 정보를 입력 받을 수 있도록 합시다. === 권준혁 === * user.h {{{ class student { private: int number; char name[20]; int grade; int year; int phonenumber; public: student(char name[], int Grade, int Year, int Phonenumber); student(); void get_info(char name[], int Grade, int Year, int Phonenumber); void get_info(); void input_num(int num); int get_num(); }; }}} * main.cpp {{{ #include #include"user.h" #include #pragma warning(disable : 4996) int main() { int flag; student *user[50]; char tempname[20]; int tempgrade; int tempyear; int tempphone; for (int i = 0; i < 50; i++) { printf("\n학생정보를 입력하세용~ 1 입력 1 이외 노입력\n"); scanf("%d", &flag); if(flag == 1) { printf("이름 : "); scanf("%s", tempname); printf("학년 : "); scanf("%d", &tempgrade); printf("기수 : "); scanf("%d", &tempyear); printf("폰번 : "); scanf("%d", &tempphone); user[i] = new student(tempname, tempgrade, tempyear, tempphone); } else { user[i] = new student(); } } } }}} * user.cpp {{{ #include #include #include"user.h" #pragma warning(disable : 4996) student::student(char Name[], int Grade, int Year, int Phonenumber){ strcpy(name, Name); grade = Grade; year = Year; phonenumber = Phonenumber; printf("이름은 %s 학년은 %d 기수는 %d 폰번은 %d!",name,grade,year,phonenumber); printf("\n잘부탁드립니다!"); } student::student(){ printf("------고학번만 볼수 있는 문장입니다------"); printf("\n잘부탁드립니다!"); } void student::get_info(char Name[], int Grade, int Year, int Phonenumber){ strcpy(name, Name); grade = Grade; year = Year; phonenumber = Phonenumber; printf("이름은 %s 학년은 %d 기수는 %d 폰번은 %d!", name, grade, year, phonenumber); printf("\n잘부탁드립니다!\n"); } void student::get_info(){ printf("------고학번만 볼수 있는 문장입니다------"); printf("\n잘부탁드립니다!\n"); } int student::get_num() { return number; } void student::input_num(int num) { number = num; } }}} * 갠적으로는 생성자 없이 구조체 할당하는데에서 애좀 먹음 ;;;; == 다음 이 시간에는 == * 복사 생성자(5-1, 5-2, 5-3) == 질문 == == 피드백 == 이건 어느요일에 하는건가요? * 수요일 오후 3시로 정해져 있으나 사실 조금 유동적입니다. 스터디원들이 모두 모이면 그냥 시작하기도 하는데 빠르면 2시에도 시작 하기도 합니다. 끝나는건 짧으면 40분, 길면 1시간 넘게도 합니다. - [유재범] ----- [C++스터디(이름미정)]