void Printer::print(int choise, int pages) {
if (choise==1){
InkJet::printInkJet;
}
else if (choise == 2) {
Laser::printLaser;
}
else { cout << "잘못된 입력" <
}
class InkJet :public Printer { //잉크젯 프린터
private:
int availableInk; //잉크 잔량
public:
InkJet(string md, string mf, int ac, int ai) :Printer(md, mf, ac) {
availableInk = ai;
cout <
}
void printInkJet(int pages);
};
void InkJet::printInkJet(int pages) {
availableInk = availableInk - pages;
ac = ac - pages;
}
--------------------------
if (choise==1){
InkJet::printInkJet;
}
---------------------------
이 코드에서
'InkJet': 클래스 또는 네임스페이스 이름이 아닙니다.
'printInkJet': 선언되지 않은 식별자입니다.
이런 오류가 뜨는데 저런 식으로 다른 멤버를 가져올 수 없나요?
-------부분은 맨 위 함수 일부를 따 온 겁니다.
저거 차라리 가상함수러 해야댈거같은뎅 - dc App
잉크젯 클라스 선언하기도전에 써부리면 컴파일 안대지 안음? - dc App
대학 과제인데 아직 가상함수라는 걸 안 배워서요... 젤 위 print 함수에서 printInkJet 함수 내용을 끌어오고 싶은데 좋은 방법이 없을까요??
스켈레톤코드가 저런겨? 어베일러블은 프린트 멤버루 두면안댐? - dc App
저기+ 레이저 프린트가 있어서요
availableInk , availableToner 해서 잉크, 토너 나눴어요
그냥 베이스에다가 print() 맨들고 밑에서 상속받는넘들 오버라이드하라는문젠거같은데 - dc App
오버라이드 관련해서 푸는 게 맞는 거 같아요 감사합니다. 찾아볼게요