Difference between r1.9 and the current
@@ -30,9 +30,125 @@
== 과제 ==
* 회원 정보 입출력기를 만들어봅시다.
* 이름, 학년, 기수, 학번, 전화번호를 입력 받습니다.
* 최대 50명의 정보를 입력 받을 수 있도록 합시다.
== 다음 이 시간에는 ==
* 복사 생성자(5-1, 5-2, 5-3)
* 회원 정보 입출력기를 만들어봅시다.
* 이름, 학년, 기수, 학번, 전화번호를 입력 받습니다.
* 내용이 입력되지 않으면 자동으로 "SECRET"(혹은 비슷한 의미)~~ (권준혁 학우의 비미쯔를 기대해봅니다.) ~~을 출력합니다.
* 내용이 입력되지 않으면 자동으로 "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<stdio.h>
#include"user.h"
#include<stdlib.h>
#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<stdio.h>
#include<string.h>
#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. 내용 ¶
- 생성자는 함수와 비슷합니다.
- 생성자는 클래스와 이름이 같습니다.
- 그래서 함수처럼 오버라이딩이 됩니다.
- 생성자는 사실 만들 필요가 없습니다.
- 다만 만들지 않으면 자동으로 만들어지게 됩니다.
- 다만 만들지 않으면 자동으로 만들어지게 됩니다.
- 외부에서 Input이 Void인 생성자는 밖에서 선언 하여 쓸 수 없습니다.
- 왜냐하면 클래스와 이름이 같아 input이 void인 생성자는 클래스를 가리키는지 생성자를 가리키는지 모르기 때문입니다.
- 왜냐하면 클래스와 이름이 같아 input이 void인 생성자는 클래스를 가리키는지 생성자를 가리키는지 모르기 때문입니다.
- 생성자는 클래스와 이름이 같습니다.
- 소멸자는 생성자가 생길 때 자동으로 생깁니다.
- 하지만 직접 만들 수도 있습니다.
- 소멸자는 생성자의 이름 앞에 '~'를 붙여서 짝을 지어요.
- 하지만 직접 만들 수도 있습니다.
- this 포인터는 함수에서 받는 변수와 클래스 내부에서 선언된 변수가 같을 때, 클래스 내부에서 선언된 변수의 값을 바꾸고 싶을 때 선언하는 자기자신 선언 포인터입니다.
- 이 내용은 많은 오류를 포함하고 있습니다?
- 생성자, 소멸자
- this 포인터와 class와 배열
4. 과제 ¶
- 회원 정보 입출력기를 만들어봅시다.
- 이름, 학년, 기수, 학번, 전화번호를 입력 받습니다.
- 내용이 입력되지 않으면 자동으로 "SECRET"(혹은 비슷한 의미)
(권준혁 학우의 비미쯔를 기대해봅니다.)을 출력합니다.
- 내용 출력 후에는 "잘 부탁드립니다!"를 자동으로 출력하도록 해봅시다.
- 최대 50명의 정보를 입력 받을 수 있도록 합시다.
- 이름, 학년, 기수, 학번, 전화번호를 입력 받습니다.
4.1. 권준혁 ¶
- 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<stdio.h> #include"user.h" #include<stdlib.h> #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<stdio.h> #include<string.h> #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; }
- 갠적으로는 생성자 없이 구조체 할당하는데에서 애좀 먹음 ;;;;