견습프로그래머 님이 쓰신 글 :
: 아래의 소스를보시면
:
: 일단 class POINT 를만들고 케릭터객체로 네임을만든뒤 POINT 생성자를 생성하여
:
: 메인문에서 네임을받아오고 그후에 Po[0]에 그 생성자값을 전달하여
:
: name메모리할당후 name를 카피하고 showtime을 이용해서 그카피한네임을 리턴시키고
:
: 상속받은 potry를 이용해 그 showtime을 사용하는건데
:
: 이름입력뒤 '입력받은 이름은 :' 이건 나오는데 그후에 showtime 반환이 이상합니다.
:
: 뭐랄까 return해야할게 name이아니고 Po라고도 생각해봣지만 아무래도 아닌거같고, 뭔지모르겟습니다 ㅠ
:
: 더운날 고수님들 고생좀부탁드릴게요 ㅠㅠ 정확한 이유좀
:
: 아그리고 한가지더물어볼게있는데요
:
: 클레스 포인트를 만들고 포인터생성자를만들때 처음에 디폴트생성자를 안만들고 그냥 포인터생성자를만들고 컴파일하니까 오류가나던데 왜그런건가요?
#include
using namespace std;
class POINT
{
private:
char name[100]; //이름이 저장될 장소
public:
POINT()
{
}
~POINT()
{
}
protected:
//외부에서 실행될수없으므로 protected 에 넣음
char* GetCharName(int count)
{
return name[count]; //이름을 리턴하도록 함수를 만들어줌
}
void __fastcall SetCharName(int Item,char *Names)
{
name[Item] = Names;
}
};
class potry : public POINT
{
public:
potry() :POINT()
{
}
void __fastcall GetCharNames(int Item)
{
cout <<"입력받은 이름은:"<GetCharName(Item);
//
}
void __fastcall SetCharNames(int Item,char *names)
{
cin>>"이름을 입력하세요:">>SetCharName(Item,names);
}
};
void main()
{
potry *po = new potry();
po->SetCharNames(1,"홍길동"); //숫자1은 기억된장소를뜻함
po->GetCharNames(1);//저장된위치에서 가저옴;
delete po; //삭제
}
|