最初版本
#pragma once
class Library
{
public:
void Step1()
{
}
void Step3()
{
}
void Step5()
{
}
};
class Appliacation
{
public:
void Step2()
{
}
void Step4()
{
}
};
int main()
{
Library lib;
Appliacation app;
lib.Step1();
app.Step2();
lib.Step3();
app.Step4();
lib.Step5();
}
最终版本
#pragma once
class Library
{
public:
void run()
{
Step1();
Step2();
Step3();
Step4();
Step5();
}
private:
void Step1()
{
}
void Step3()
{
}
void Step5()
{
}
virtual ~Library()
{
}
protected:
virtual void Step2() = 0;
virtual void Step4() = 0;
};
class Appliacation : public Library
{
public:
virtual void Step2()
{
}
virtual void Step4()
{
}
};
int main()
{
Library* app = new Appliacation();
app->run();
}