Talk:More C++ Idioms/Concrete Data Type

I have strong doubts about the way you have explained 'concrete data types'. The description does not describe the primary purpose of it.

A concrete data type is a specialized solution-oriented data type that represents a well-defined single solution domain concept. That is why we say a concrete data type is rarely reusable beyond its original use. Though it can be embedded or composed with other data types to form larger data types. There are significant benefits to a class whose objects behave like those of native types. Such a class is called a concrete data type. Some simple requirements: The ability to create a variable with no specified initial value, e.g., int i;	A default constructor The ability to pass a variable as an argument to a function; in this case, the compiler has to make a copy of the variable so that the called function doesn't change the value of the variable in the calling function. A copy constructor The ability to assign a value of an appropriate type to an existing variable such as i = 5; An assignment operator Reclaiming the storage assigned to a variable when it ceases to exist. A destructor that cleans up when an object ceases to exist it is very nicely discussed in The C++ Programming Language, 3rd ed.

I would be editing this page after a few days if nobody has an objection.

Regards, --Jyoti.mickey (talk) 06:19, 9 October 2009 (UTC)