944,082 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 4667
  • C++ RSS
Oct 23rd, 2004
0

writing a class without the class {} tag

Expand Post »
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?
C++ Syntax (Toggle Plain Text)
  1. #ifndef sample_h
  2. #define sample_h
  3.  
  4. class sample {
  5.  
  6. function1 ();
  7. function2 ();
  8.  
  9. };
  10.  
  11. #endif

and

C++ Syntax (Toggle Plain Text)
  1.  
  2. #ifndef sample_h
  3. #define sample_h
  4.  
  5. function1 ();
  6. function2 ();
  7.  
  8. #endif
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
confusedmind is offline Offline
6 posts
since Oct 2004
Oct 24th, 2004
0

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.
Reputation Points: 36
Solved Threads: 11
Posting Pro in Training
Chainsaw is offline Offline
436 posts
since Jun 2004
Oct 24th, 2004
0

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).
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Ejaz is offline Offline
10 posts
since Oct 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: redefinition error please help
Next Thread in C++ Forum Timeline: loop problem





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC