Main Content

C++ - just beyond the basics. More you can do

Archive - Originally posted on "The Horse's Mouth" - 2006-11-14 00:05:36 - Graham Ellis

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