C++ - just beyond the basics. More you can do
Things you can do in C++ ... just a bit beyond the first basics of a class:
1. You can declare that a method is
const if it doesn't change any of the instance variables and that will make it a bit more efficient when you run it.
2. You can refer to an instance variable within a method using
this-> if you want to use the same variable name for a parameter to the method (or as a local variable within it)
3. You can declare a
destructor method (which has the same name as the class name preceded by a ~ - a tilde) which is code to be run when you've finished with an object, and before the program finishes
4. You can have two methods of the same name but with a different 'pattern' of parameters, and your program will work out which is the one you're calling in each case.
This is similar to polymorphism ... but not actually polymorphism; Polymorphism IS supported by C++ as well!
These are all just slightly beyond the first basics, and you certainly won't use ALL of them in a single program (unless you're doing a class exercise as I was yesterday!) Here are sample declarations for three of these techniques:
class MSheet {
public:
MSheet(float ecs, float why);
MSheet(float ecs); // No. 4 - 2 methods of same name
~MSheet(); // No. 3 - destructor
void setx(float size);
void sety(float size) ;
float getarea() const; // No. 1 - const
private:
float x;
float y;
};
and for "this":
MSheet::MSheet(float x, float yy) {
this->x = x; // No. 2 - this
(written 2006-11-14 00:05:36)
Associated topics are indexed under
C233 - C and C based languages - OO in C++ - beyond the basics [2577] Complete teaching example - C++, inheritance, polymorphism - (2010-01-15)
[1819] Calling base class constructors - (2008-10-03)
[1674] What a lot of files! (C++ / Polymorphism demo) - (2008-06-12)
[1572] C - structs and unions, C++ classes and polymorphism - (2008-03-13)
[1217] What are factory and singleton classes? - (2007-06-04)
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl - (2006-08-13)
[801] Simple polymorphism example - C++ - (2006-07-14)
[798] References and Pointers in C++ - (2006-07-10)
C239 - C and C based languages - Putting it all together [2674] Make and makefiles - a commented example to help you learn - (2010-03-12)
[2673] Multiple Inheritance in C++ - a complete example - (2010-03-12)
[2646] Compile but do not run PHP - syntax check only - (2010-02-22)
[1181] Good Programming practise - where to initialise variables - (2007-05-09)
[945] Code quality counts - (2006-11-26)
[836] Build on what you already have with OO - (2006-08-17)
Some other Articles
Presenting Melksham - for a weekend away in WiltshireC++ and Perl - why did they do it THAT way?Hotel door furnitureTraining rooms to learn Open Source programmingC++ - just beyond the basics. More you can doThe LAMP Cookbook - Linux, Apache, MySQL, PHP / PerlWhy shouldn't I spam?Staying at your own hotelFrench ExchangeA lion in a cage - PHP