answersLogoWhite

0

A concrete class is a complete type, as opposed to an abstract class which is an incomplete type.

class A {

public:

virtual void f () = 0; // pure-virtual; class A is abstract

// ...

};

class B : public A {

public:

void f () override; // overrides A::f(); class B is concrete

};

class C {

// no pure-virtual methods; C is a concrete type

// ...

};

Template classes are generic types. We usually evolve a generic type from a concrete type rather than write a template class from scratch, a technique known as lifting. The concrete type provides us with the complete implementation which is useful for testing and debugging purposes. When the concrete class is fully-implemented and error-free, we can generalise to produce the generic type.

User Avatar

Wiki User

7y ago

What else can I help you with?