C++로 작성된 상상의 스크립트 언어에 대한 상상의 유형 시스템이 있고 스크립트 언어의 각 유형 (및 객체)이 기본 구현 언어에 해당 유형 (및 객체)을 가지고 있다고 가정합니다. 이 가상 유형 시스템의 기본 클래스는 Object라는 클래스이며 다른 모든 클래스는이 클래스에서 파생되어야합니다. 이제는 HashTable이라는 또 다른 클래스가 있습니다.이 클래스는 모든 변수 저장소의 기초입니다. (내가 잘못 말했을 수도 있습니다.) 네임 스페이스는 HashTables (하나의 객체를 다른 객체와 연결)를 통해 구현되고, 전역 변수는 HashTables를 통해 저장되며, 문제의 핵심 인 인스턴스 변수는 HashTable에도 저장됩니다.객체 지향형 시스템을 가진 언어로 객체 지향형 시스템을 구현할 수 있습니까?
인스턴스 변수는 모든 개체가 해당 인스턴스 변수를 저장하는 HashTable을 갖도록되어 있습니다. 그러나 HashTable은 반드시 Object에서 파생되므로 각 HashTable에는 인스턴스 변수를 저장하는 HashTable이 있습니다. 그리고 모든 HashTable에 대한 모든 HashTable에는 해시 테이블이 있으며, 무한히 확장 가능합니다.
제 질문은이 유형의 시스템을 기본 C++ 코드에서 객체 지향적 방식으로 구현할 수 있습니까? 예방 조치가 취해지지 않으면, 프로그램은 무한 루프에 들어가서 객체의 단순한 인스턴스 생성시 스택 오버 플로우를 야기 할 것이다. HashTable을 인스턴스화 할 Object를위한 부모 생성자를 호출 할 HashTable을 인스턴스화 할 것이기 때문에 ...
이 디자인 결함에 대해 원하는 OO 디자인을 위반하지 않는 가능한 해결 방법이 있습니까 (각 유형은 기본 코드에 해당 유형이 있습니다)?
이 게시물의 문법을 용서하십시오. 영어는 제 첫 번째 언어가 아니며 이해할 수있는 방식으로 설명하지 않았을 수 있습니다.
질문 : "객체 지향 프로그래밍 언어로 객체 시스템을 시뮬레이션하려면 어떻게해야합니까? 아마도 해시 테이블을 사용합니까?" – umlcat