홈>
먼저 부모 클래스의 객체를 만들고 싶습니다. 조건에 따라 자식 클래스의 자식 객체를 만들어서 부모 객체에 넣습니다. 이제 객체를 일부 함수에 전달한 후 해당 함수는 하위 클래스 메소드에 액세스해야합니다. 설명 코드를 참조하십시오.
class Parent {
virtual f(){
print('Parent');
}
}
class Child: public Parent{
virtual f(){
print('Child')
}
}
void do_something(Parent &obj){
obj.f(); // this will print Child
}
int main(){
Parent obj;
if(cond){
// This is my actual question
// Not sure how to create a child obj here and put it into parent obj
Child obj = dynamic_cast<Child>(obj);
}
do_something(obj) // pass the child obj
}
- 답변 # 1
관련 자료
- javascript - 개체에 개체 만들기
- javascript - 배열에서 객체를 추출하여 다른 배열 만들기
- Javascript에서 특수 배열 문자열로 객체를 만들 수 있습니까?
- c# - 단순 유형을 포함하는 임시 객체를 만드는 방법
- javascript - 문자열 배열에서 객체 배열 생성
- java - JVM이 해당 클래스의 이름이있는 경우 해당 클래스에서 주 메서드에 액세스하기 위해 주 메서드를 포함하는 클래스의 개체를 만들 수없는 이유는 무엇입니까?
- python - 런타임에 하드웨어를 쿼리하고`__init__` 내에 속성/속성 및 setter를 동적으로 생성합니다
- VBA Word normaldotm에서 클래스 모듈 개체 만들기
- javascript - 동일한 객체로 배열 값에 새 배열을 어떻게 만들 수 있습니까?
- javascript - 시간, 분, 날짜, 월 및 연도로 구성된 문자열에서 날짜 개체를 만드는 방법은 무엇입니까?
- c# - 'AppDbContext'유형의 개체를 만들 수 없습니다
- Zoom에서 제공하는 UCT 날짜 및 시간대에서 Java로 Date 객체를 만들어야합니다 서버의 시간대는 요소가 아니어야합니다
- python - 목록의 요소를 사용하여 클래스에 대한 개체를 만드는 방법
- python - AttributeError"SQLAlchemy"개체에 'create'속성이 없습니다
- groovy - 객체를 재귀적이고 쉽게 생성
- reactjs - 자바 스크립트 객체 내부에 동적으로 객체 생성
- python - 별도의 시간별 datetime 열이 지정된 시간 범위 사이에있는 경우 새 개체 열 값을 만듭니다
- class - __add__ 메서드를 올바르게 덮어 쓰고 Python에서 새 개체를 만드는 방법은 무엇입니까?
- 기존 개체 목록에서 새 개체 목록을 만드는 방법은 무엇입니까?
- angular - Typescript는 객체에서 배열을 만듭니다
관련 질문
- C++의 Hybrid Inheritance 프로그램에서 다중 오류, 극복 방법을 이해할 수 없습니다.
- 객체 파괴 순서(C++)
- c++ : 다단계 상속 예제를 코딩하고 있지만 24행에서 cout이 유형의 이름을 지정하지 않는다는 오류가 표시됩니다.
- 파생 구조체에서 상속을 시도할 때 "잘못된 기본 클래스" 오류(C++)
- 복제 가능한 C++ 클래스를 구현하는 가장 좋은 방법은 무엇입니까?
- 템플릿 유형이 개념과 일치하는 경우에만 C++ 상속 인터페이스 클래스
- c++ : 클래스가 추상 클래스에 대한 스마트 포인터 벡터를 저장하도록 하고 싶습니다. ("추상 클래스를 인스턴스화할 수 없습니다")
- c++ : 파생 클래스에서 같은 이름을 가진 기본 멤버 대신 파생 멤버에 액세스
- 클래스에서 파생된 구조체의 초기화 목록(C++)
<올>
개체 대신 포인터를 사용하십시오.
와이즈 비즈 변경 객체가 아닌 참조를 사용합니다. 인수가 객체의 값으로 전달되면 프로그램에서 objct-slicing 문제가 발생합니다.
와이즈 비즈 변경
void do_something(Parent& obj){ .... }
에 전화 전달 된 객체에서.f()