if
또는 switch
문을 사용하지 않고 변수 값에 따라 함수를 실행하려면 어떻게해야합니까? 순간 변수의 값에 따라 어떻게 다른 기능을 실행할 수 있습니까?
같은 것을하고 있어요. 는 내가 아무 정말 깨끗한 솔루션입니다,하지만 당신이 정말로 "클래스 % d 개"라는 클래스가있는 경우, 당신은 당신의 코드를 약간 만들기 위해 전처리를 이용할 수
//Class1.h
class Class1 {
public:
Class1();
virtual ~Class1();
unsigned char mode = 0x00;
unsigned char type = 0x00;
Interface* o;//in this case I’m creating an object not running a function
};
//Class1.cpp
#include "Class1.h"
Class1::Class1(){
switch(mode){
case 0x00:
switch(type){
case 0x00:
o = new Class2();
break;
case 0x01:
o = new Class3();
break;
case 0x02:
o = new Class4();
break;
}
//case 0x03
//case 0x04
//...
break;
//case 0x01
//case 0x02
//...
default:
break;
}
}
A) 숫자와 클래스 사이의 연결이 있습니까? 어떤 임의의 순서라면, 컴퓨터는 어떻게 든 알아야합니다. b) 왜 각 클래스에 대해 if를 만드는 것은 너무 많은데, 클래스가 너무 많지는 않은가? 수많은 수업이 있기 때문에 디자인을 너무 많이 사용해야합니다. – deviantfan
소켓에서 데이터를 읽는 중입니다. 2 개의 변수가 데이터를 읽는 중이므로, 데이터에 따라 다른 작업을 수행해야합니다. – TheGamingNexus
인스턴스에 일종의 맵을 사용할 수 있습니다. –