DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   writing a class without the class declaration? (http://www.daniweb.com/forums/thread12840.html)

confusedmind Oct 23rd, 2004 10:18 pm
writing a class without the class {} tag
 
hi i am having trouble understanding that what is the difference between having class xxx { } in the .h file and not having it?

say i have these two code, can anyone tell me the difference?
#ifndef sample_h
#define sample_h

class sample {

function1 ();
function2 ();

};

#endif

and


#ifndef sample_h
#define sample_h

function1 ();
function2 ();

#endif

Chainsaw Oct 24th, 2004 1:29 am
Re: writing a class without the class declaration?
 
Er, well, one has a class definition with two member functions, and one has two functions.

All things being equal, the difference is that you can directly call the two functions in the second case, but need to create an instance of class 'sample' to call the functions in the first case.

The sample class you've defined here doesn't do much 'extra' that classes can be fantastic for. Like, instance variables or constructors/destructors or superclasses.

Ejaz Oct 24th, 2004 6:19 am
Re: writing a class without the class declaration?
 
The two different implementations can acheive the same results, but they belong to two different familes. One is strucutural and you'll find the C implementations like that (although it does work in C++ as well).

Where as classes are part of C++, which applies Object Oriented approach to solve the problems. In C++, the concept is like, you implement the algorithms in terms of class member functions and these can be accessed through the object (instance) of the class. (for static methods, you don't need the object of the class). This approach gives you good abstraction, encapsulations of data and many other benefits.

There is another pradigm, referred as Generic Programming, where the implementations are done through templates (like STL).


All times are GMT -4. The time now is 7:37 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC