954,500 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

writing a class without the class declaration?

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
confusedmind
Newbie Poster
6 posts since Oct 2004
Reputation Points: 10
Solved Threads: 0
 

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.

Chainsaw
Posting Pro in Training
436 posts since Jun 2004
Reputation Points: 36
Solved Threads: 11
 

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).

Ejaz
Newbie Poster
10 posts since Oct 2004
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You