student.h
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
class Student
{
private: //03 클래스의 속성은 이름, 나이, 성별, 주소를 선언하고 다른 클래스에서 접근을 차단함
string name;
int age;
string gender;
string address;
public:
Student(); //기본생성자
Student(string name, int age, string gender, string address); //04 매개변수 이름, 나이, 성별, 주소를 사용하는 생성자 추가
~Student();
//05) 속성에 대한 getter/setter 멤버 메쏘드 추가.
inline void setName(string name) {
this->name = name;
}
string getName() {
return name;
}
inline void setAge(int age) {
this->age = age;
}
int getAge() {
return age;
}
inline void setGender(string gender) {
this->gender = gender;
}
string getGender() {
return gender;
}
inline void setAddress(string address) {
this->address = address;
}
string getAddress() {
return address;
}
void showStudentInfo();//06) 모든 속성 정보를 출력하는 showStudentInfo() 멤버 메쏘드 추가.
};
student.cpp
#include "Student.h"
Student::Student() {
}
Student::Student(string name, int age, string gender, string address) {
this->name = name;
this->age = age;
this->gender = gender;
this->address = address;
}
Student::~Student(){}
void Student::showStudentInfo() {
cout << "이름 " << name << endl;
cout << "나이 " << age << endl;
cout << "성별 " << gender << endl;
cout << "주소 " << address << endl;
}
studentMain.cpp
#include"Student.h"
int main(void) {
string name[] = { "홍길동", "김길동", "박길동", "이길동", "최길동"};
int age[] = {20, 25, 30, 35, 40};
string gender[] = {"남", "여"};
string address[] = {"대구시 동구 신암4동", "서울시 동구 신암4동", "부산시 동구 신암4동", "인천시 동구 신암4동", "광주시 동구 신암4동"};
srand((unsigned int)time(NULL));
Student stlist[10]; //조건08) main()에서 10명의 학생 정보를 저장할수있는 Student 객체 생성.
for (int i = 0; i < 10; i++) {
stlist[i] = Student(name[rand () % 4], age[rand() % 4], gender[rand() % 1], address[rand() % 4]);
//stlist[i].showStudentInfo();
//cout << endl;
}
//조건11)10번째 학생의 정보 변경 "전우치", 24, '남', "조선 한양인근 두메산골"
stlist[9].Student::setName("전우치");
stlist[9].Student::setAge(24);
stlist[9].setGender("남");
stlist[9].setAddress("조선");
//stlist[9].showStudentInfo();
for (int i = 0; i < 10; i++) {
stlist[i].showStudentInfo();
cout << endl;
}
return 0;
}
조건11) 10번째 학생의 정보를 아래의 정보로 변경하기.
"전우치", 24, '남', "조선 한양인근 두메산골"
아래와 같이 하게 되면 객체를 하나 더 생성하고 그 정보를 9번째 배열에 집어넣는 것이 된다.
위의 코드처럼 해줘야 함
// "전우치", 24, '남', "조선 한양인근 두메산골"
stlist[9] = Student("전우치", 24, "남", "조선 한양인근 두메산골");
stlist[9].showStudentInfo();
1. 학생관리 프로그램을 위한 학생(Student) 클래스 설계.
조건01) 프로젝트를 생성할때 패키지명을 com.(회사명 또는 본인 이니셜).앱이름으로 생성.조건02) 학생 클래스, main()를 포함하는 클래스 2개 사용. (java파일 총 2개 생성)
조건03) 클래스의 속성은 이름, 나이, 성별, 주소를 선언하고 다른 클래스에서 접근을 차단함. - private
- 속성의 데이터 타입은 아래의 조건7을 참고 바람.
조건04) 매개변수 이름, 나이, 성별, 주소를 사용하는 생성자 추가.
조건05) 속성에 대한 getter/setter 멤버 메쏘드 추가.
조건06) 모든 속성 정보를 출력하는 showStudentInfo() 멤버 메쏘드 추가.
조건07) main()에서 다음의 학생 정보 배열 초기화.
String name[] = {"홍길동", "김길동", "박길동", "이길동", 최길동"};
int age[] = {20, 25, 30, 35, 40};
char gender[] = {'남', '여'};
String address[] = {"대구시 동구 신암4동", "서울시 동구 신암4동",
"부산시 동구 신암4동", "인천시 동구 신암4동", "광주시 동구 신암4동"};
조건08) main()에서 10명의 학생 정보를 저장할수있는 Student 객체 생성.
조건09) 이름, 나이, 성별, 주소 정보들을 랜덤하게 가져와 생성자 매개변수로 전달하기.
조건10) 10명의 학생정보가 생성되었으면 showStudentInfo()를 통해서 모두 출력하기.
- 출력 형태는 깔끔하게 정리하여 보여주기.
조건11) 10번째 학생의 정보를 아래의 정보로 변경하기.
"전우치", 24, '남', "조선 한양인근 두메산골"
조건12) 조건11 에서 설정한 정보들을 showStudentInfo() 를 통해서 출력.
[출처] Java 클래스 2번째|작성자 박x신
'C++ > c++수업' 카테고리의 다른 글
아두이노 라이브러리 (led 깜빡이는) 만들기 (0) | 2020.10.26 |
---|---|
고객 차량 관리 프로그램을 위한 클래스 설계. (2개의 클래스가 사용 (0) | 2020.10.21 |
배열 포인터 (0) | 2020.10.20 |
자동차에 대한 클래스 작성 (0) | 2020.10.19 |
static / 소스파일cpp ,헤더파일h 분리 예제+사칙연산 추가 (0) | 2020.10.19 |