N
newbie
class AbstractBook {
public:
virtual static AbstractBook* Allocate () =0;
virtual PrintTitle() = 0;
}
class ScifiBook {
public:
static AbstractBook* Allocate () { return new ScifiBook; }
virtual PrintTitle() { cout << "scifi"; }
private:
int num_stories;
}
class NovelBook {
static AbstractBook* Allocate () { return new NovelBook; }
virtual PrintTitle() { cout << "Novel"; }
private:
int num_pages;
}
public:
virtual static AbstractBook* Allocate () =0;
virtual PrintTitle() = 0;
}
class ScifiBook {
public:
static AbstractBook* Allocate () { return new ScifiBook; }
virtual PrintTitle() { cout << "scifi"; }
private:
int num_stories;
}
class NovelBook {
static AbstractBook* Allocate () { return new NovelBook; }
virtual PrintTitle() { cout << "Novel"; }
private:
int num_pages;
}