C++ BasicInheri1

♪C++ 2010. 10. 31. 17:26


#include<iostream>
using std::endl;
using std::cout;

class person
{
 int age;
 char name[20];
 char jangong[20];
public:
 int getage() const
 {
  return age;
 }
 const char * getname() const{
  return name;
 }
 person(int _age=1,char * _name="noname")
 {
  age=_age;
  strcpy(name,_name);
 }
};
class student: public person
{
 char major[20];
public:
 student(char* _major,int _age,char _jangong)
 {
  age=_age;
  strcpy(jangong,_jangong);
  strcpy(major,_major);
 }
 const char* getmajor() const{
  return major;
 }
 void showdata() const{
  cout<<"이름 : "<<getname()<<endl;
  cout<<"나이 : "<<getage()<<endl;
  cout<<"전공 : "<<getmajor()<<endl;
 }
};
int main()
{
 student jun("김준현",20,"컴퓨터공학과");
 jun.showdata();

 return 0;
}

흠..... 이니셜라이저 써야하는데 답답하넹...



#include<iostream>
using std::endl;
using std::cout;

class person
{

 int age;
 char name[20];
public: 
 int getage() const
 {
  return age;
 }
 const char * getname() const{
  return name;
 }
 person(int _age=1,char * _name="noname")
 {
  age=_age;
  strcpy(name,_name);
 }
};
class student: public person
{
 char major[20];
public:
 student(char* _major,int _age,char* _name) : person(_age,_name)   //이니셜라이져
 {
//  age=_age;
//  strcpy(name,_name);
  strcpy(major,_major);
 }
 const char* getmajor() const{
  return major;
 }
 void showdata() const{
  cout<<"이름 : "<<getname()<<endl;
  cout<<"나이 : "<<getage()<<endl;
  cout<<"전공 : "<<getmajor()<<endl;
 }
};
int main()
{
 student jun("컴퓨터공학과",20,"김준현");
 jun.showdata();

 return 0;
}

'♪C++' 카테고리의 다른 글

4996 에러  (0) 2018.08.14
c++ 연습 8-1  (0) 2010.11.14
OOP프로젝트 5단계  (0) 2010.11.02
C++ 열혈강의 7-2 연습문제  (3) 2010.11.01
열혈강의 c++ 연습문제 7-1  (1) 2010.10.31