U E D R , A S I H C RSS

C++스터디(이름미정)/20141029


1. 시간 및 장소


  • 14 : 20 ~ 15 : 20
  • 제로페이지 학회실

2. 참가자


권준혁 장혁재 유재범 성훈
참석 불참 참석 참석

3. 내용

  • 생성자는 함수와 비슷합니다.
    • 생성자는 클래스와 이름이 같습니다.
    • 그래서 함수처럼 오버라이딩이 됩니다.
    • 생성자는 사실 만들 필요가 없습니다.
      • 다만 만들지 않으면 자동으로 만들어지게 됩니다.
    • 외부에서 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;

}

  • 갠적으로는 생성자 없이 구조체 할당하는데에서 애좀 먹음 ;;;;

5. 다음 이 시간에는

  • 복사 생성자(5-1, 5-2, 5-3)

6. 질문



7. 피드백



이건 어느요일에 하는건가요?
  • 수요일 오후 3시로 정해져 있으나 사실 조금 유동적입니다. 스터디원들이 모두 모이면 그냥 시작하기도 하는데 빠르면 2시에도 시작 하기도 합니다. 끝나는건 짧으면 40분, 길면 1시간 넘게도 합니다. - 유재범


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:46
Processing time 0.0166 sec