0
有一個接口抽象基類的設計問題?
class abc {
public:
virtual int foo() = 0;
...
}
class concrete1: public abc {
public:
int foo() {
..
}
class concrete2 : public abc {
public:
int foo() {
..
}
}
現在我的主要節目,我需要構建基於可變
abc *a;
if (var == 1)
a = new concrete1();
else
a = new concrete2();
值類很顯然,我不希望在節目中這兩條線無處不在(請注意我在這裏已經簡化了,所以事情很清楚)。如果有什麼設計模式,我應該使用哪種設計模式?
不要忘記你在基類中的純虛擬析構函數。也 ';'應該是在類定義的關閉'}'之後。 – 2008-12-30 08:03:26