I think a template class can have great value. Consider the following situation. I have one set of classes that will access data from a database and another that will open files for editing. You can create a common interface for both with no code. For example,
oObject.Open()
oObject.Save()
oObject.Revert()
There might be no code associated with the class at this level because the two sets of classes are so different. Still, having a common interface is desireable for a number of reasons.
So, you might create a class tree something like this:
+-----------+
| EditSaver |
+-----+-----+
|
|
+---------+---------+
| |
| |
+-----+-----+ +-----+-----+
| FileEdit | | DataEdit |
+-----+-----+ +-----+-----+
When you get down to the File/Data classes you might make the classes somewhat less abstract and more concrete.
Menachem
>Taking your thoughts to the end -how would your class be used. Again I come back to inherit an implementation rather than setting up some sort pattern/template....
>
>John