C++1

OOP in C++

Posted on

CONSTRUCTOR INITIALIZATION LISTS

  • Generally  every  object  we  create  will  require  some  sort  of  initialization.  C++

allows  a  constructor  function  to  be  included  in  a  class  declaration. A class’s constructor  is  called  each  time  an  object  of  that  class  is  created.

  • Thus, any initialization  to  be  performed  on  an  object  can  be  done  automatically  by  the constructor function. A constructor function has the following characteristics : –
  • It should have the same name as that of the class.
  • It  should  not  have  any  return  type  even  void  however  they  can  take arguments.
  • onstructers can take default arguments
  • Constructers can be dynamically initialized.
  • Constructer function cannot be made virtual
  •  It should be always declared in the public section of the class.

Example: The following program makes use of a constructor.

#include <iostream.h >

#include <conio.h >

class  number

{int a;

public:

number( ); //constructor

void show( );};

Public number( )

{cout<< “In constructor\n”;

a=100;}

void show( )

{cout << a;}

void main( )

{clrscr();

number ob; // automatic call to constructor

ob.show( );

getch();

}

Output of the Program

In constructor

100

  • In this simple example the constructor is called when the object is created, and the constructor initializes the private variable a to 100 .For a global object, its constructor is called once, when the program first begins execution. For local objects, the constructor is called each time the declaration statement is executed.

Posted By-: Vissicomp Technology Pvt. Ltd.

Website -: http://www.vissicomp.com

 

Advertisements

OOP in C++

Posted on

For the students of FYBSc (IT), SYBSc (CS), SYBCA

THE COPY CONSTRUCTOR

The copy constructor is a constructor which creates an object by initializing it with an object of the same class, which has been created previously. The copy constructor is used to:

  • Initialize one object from another of the same type.
  • Copy an object to pass it as an argument to a function.
  • Copy an object to return it from a function.

If a copy constructor is not defined in a class, the compiler itself defines one. If the class has pointer variables and has some dynamic memory allocations, then it is a must to have a copy constructor. The most common form of copy constructor is shown here:

classname (const classname &obj){   // body of constructor}

Here, obj is a reference to an object that is being used to initialize another object.

#include<iostream>

classLine

{

public:

int getLength(void);

Line(int len );             // simple constructor

Line(constLine&obj);  // copy constructor

~Line();                     // destructor

private:

int*ptr;

};

// Member functions definitions including constructor

Line::Line(int len)

{

cout <<“Normal constructor allocating ptr”<< endl;

// allocate memory for the pointer;

ptr =newint;

*ptr = len;

}

Line::Line(constLine&obj)

{

cout <<“Copy constructor allocating ptr.”<< endl;

ptr =newint;

*ptr =*obj.ptr;// copy the value

}

Line::~Line(void)

{

cout <<“Freeing memory!”<< endl;

delete ptr;

}

intLine::getLength(void)

{

return*ptr;

}

void display(Line obj)

{

cout <<“Length of line : “<< obj.getLength()<<endl;

}

// Main function for the program

void main()

{   Line line(10);

display(line);}

When the above code is compiled and executed, it produces the following result:

Normal constructor allocating ptr

Copy constructor allocating ptr.

Length of line : 10

Freeing memory!

Freeing memory!

 

Posted By-: Vissicomp Technology Pvt. Ltd.

Website -: http://www.vissicomp.com

OOP in C++

Posted on

For the students of FYBSc (IT), SYBSc (CS), SYBCA

C++ Identifiers:

  • A C++ identifier is a name used to identify a variable, function, class, module, or any other user-defined item. An identifier starts with a letter A to Z or a to z or an underscore (_) followed by zero or more letters, underscores, and digits (0 to 9).
  • C++  does  not  allow  punctuation  characters  such  as  @,  $,  and  %  within  identifiers.
  • C++ is a case-sensitive programming language. Thus, Manpower and manpower are two different identifiers in C++.

 

  • Here are some examples of acceptable identifiers:

Name1                        abc                  move_name                    a_123

Myname_50                num1              num2                           temp retVal

 

C++ Keywords:

  • The following list shows the reserved words in C++.  These reserved words may not be used as constant or variable or any other identifier names.

else      new    this  Auto         enum             operator          throw             Bool    explicit

private             true    Break              export   protected   try  Case   extern   public   typedef

Catch   false   register   typeid  Char   float   reinterpret_cast    typename

Class  for  return  union Const  friend  short         unsigned const_cast   goto  signed  using

continue  If      sizeof             virtual             Default  inline  Static  void Delete  int  static_cast              volatile

Do  long          Struct              Double            mutable                      Switch                          while  dynamic_cast  namespace  Template

Posted By-: Vissicomp Technology Pvt. Ltd.

Website -: http://www.vissicomp.com