|
프레임이라는건 클래스를 말씀하시는것 같군요
이전 프레임 대신 쓴다고 하신게 맞는다면
새로운 프레임만 쓰니까 어차피 포인터도 새프레임에 대한 포인터로
바꿔주면 캐스팅할 일은 없을것 같은데요
그런데 캐스팅을 해야만 한다고 하는것을 보면..
하나의 포인터로 두 프레임을 모두 사용하려는 것인가요?
두개의 다른 프레임(클래스)를 동시에 포인터에 넣으려면
parent 클래스 만들어서 공통 메소드를 virtual로 선언하고 양쪽 프레임에서 상속 받는
방법밖에 없을 것같습니다.
그렇지 않고서는 범상님이 하시는대로 계속 캐스팅을 써야하고
또 포인터를 가지고 다른 객체를 가르키다가 캐스팅하다보면 문제가 생길 여지도 있으니
오래걸려도 상속하는 코드로 수정해 놓으시는게
앞으로를 위해 좋을듯 하네요
다 알고 계신것 같은데.. 어느쪽이 작업량이 적을까 고민하시는것 같네요 ^^
이범상 님이 쓰신 글 :
: 답변 감사합니다. ^^
:
: 이유는 어떤 프레임이 있는데 이 프레임의 포인터를 AAA라는 변수에 넣어서 쓰고 있습니다.
: 그런데 다른 새로운 프레임을 동적으로 생성시켜서 AAA에 넣고 이전 프레임 대신에 쓸려고 합니다.
:
: 이 두 프레임은 상속관계가 없고 비슷한 동작만 하게 구현되어 있습니다.
: (비슷한 동작이라하면 버튼 A를 누르면 이 프레임이 활성화 되는 동작들입니다.)
:
: 그래서 편리하게 AAA에 포인터만 넣어서 쓰려고 하는데
: 이렇게 넣게 되면 넣을때도 캐스팅을 해야하지만 밑에서 다시 불러 들일때도 또 캐스팅을 해야 하는 일이 생겨
: 너무 많은 작업이 들어갑니다.
:
: 이런 작업을 없애고 그냥 캐스팅 한번 해주고 밑에서는 똑같이 쓰려고 합니다.
:
: 고수님 답변 부탁드립니다. ^^
: 감사합니다.
:
: (프레임 상속을 할려고 하는데 그러면 에러가 너무 많이 떠서 이 방법을 택했습니다.)
:
: 크레브 님이 쓰신 글 :
: : 지금 물어보신 질문에 대해서는..
: : 할수 있는가가 문제가 아니라
: : 왜 하려는가 하는것이 문제의 본질인것 같습니다.
: :
: : 왜 하시려는거죠?
: : 두 타입간의 아무 관계도 없는 타입을 바꾸려는 이유가 있어야 하지 않겠습니까?
: :
: : 내부의 몇몇 같은 변수만 복사하기 위한 목적인가요?
: : 그렇다면 C가 아닌 C++에서 클래서 만들어 대입 연산자 방식을 쓰면 될텐데요
: :
: :
: : 이범상 님이 쓰신 글 :
: : : 예를 들어 MyType구조의 변수 aaa가 있습니다.
: : : 이걸 어느 순간 부터는 YourType이라는 형으로 변경 시키고 싶습니다.
: : :
: : : 근데 두 타입 간에 관계는 전혀 없고 단지 내부의 몇몇 변수들만 같습니다.
: : : 물론 상속도 없습니다.
: : :
: : : 이런상황에서 타입을 완전히 바꿀려면 어떻게 해야합니까???
: : :
: : : C기초 상식을 몰라서 헤매고 있습니다.
: : :
: : : 고수님들 답변 부탁드립니다.
|