Tuesday, December 16, 2014

C++ Useful Program



Program 1

#include
#include
using namespace std;
class A
{
   int aid;
public:
   A(int x)
   {
      aid = x;
    }
   void print()
   {
       cout << "A::aid = " <
    }
};
class B
{
    int bid;
public:
    static A a;
    B (int i)
   {
      bid = i;
   }
};

int main()
{
  B b(10);
  b.a.print();
  return 0;
}

Program 2

#include
#include
using namespace std;
class A
{
    int id;
    static int count;
public:
    A()
    {
        count++;
        id = count;
        cout << "constructor called " << id << endl;
    }
    ~A()
    {
        cout << "destructor called " << id << endl;
    }
};
int a::count = 0;
int main()
{
    A a[2];
    return 0;
}

Output

constructor called 1
constructor called 2
destructor called 2
destructor called 1

Program 3

#include
#include
using namespace std;
class A
{
    int id;
public:
    A (int i)
   {
    id = i;
    }
    void print ()
    {
     cout << id << endl;
    }
};
int main()
{
    A a[2];
    a[0].print();
    a[1].print();
    return 0;
}

Program 4

#include
#include
using namespace std;
class A
{
public:
    void print()
    {
     cout << "A::print()";
    }
};
class B : private A
{
public:
    void print()
    {
     cout << "B::print()";
    }
};
class C : public B
{
public:
    void print()
    {
     A::print();
     }
};
int main()
{
    C b;
    b.print();
}

Program 5

#include
#include
using namespace std;
class base
{
public:
virtual void show() 
{
  cout<<" In Base \n";
           }
};
class derived: public base
{
    int x;
public:
    void show()
    {
    cout<<"In derived \n";
    }
    derived()  
    {
    x = 10;
    }
    int getX() const
   {
     return x;
    }
};

int main()
{
    derived d;
    base *bp = &d;
    bp->show();
    cout << bp->getX();
    return 0;
}

Program 6

#include
#include
using namespace std;
class test
{
    int value;
public:
    test(int v = 0)
    {
        value = v;
     }
 int getvalue() 
    {
         return value;
     }
};
int main()
{
    const test t;
    cout << t.getvalue();
    return 0;
}

Program 7
 
#include
#include
using namespace std;
class Bbase 
{
public:
    int fun()      
      { 
          cout << "Base::fun() called"; 
      }
    int fun(int i) 
      { 
       cout << "Base::fun(int i) called"; 
      }
};
class derived: public base 
{
public:
    int fun(char x)   
   { 
      cout << "Derived::fun(char ) called"; 
   }
};
int main() 
{
    derived d;
    d.fun();
    return 0;
}
 
Program 8
 
#include 
#include
using namespace std;
class A
{
    public:
    A& operator=(const A&a)
    {
        cout << "A is assignment operator called" << endl;
        return *this;
    }
};
class B
{
    A a[2];
};
int main()
{
    B b1, b2;
    b1 = b2;
    return 0;
}

Output
 
A is assignment operator called
A is assignment operator called

Program 9
 
#include
#include
using namespace std;
class test 
{
public:
    void* operator new(size_t size);
    void operator delete(void*);
    test() 
    { 
          cout<<"\n Constructor called"; 
    }
    ~test() 
    { 
        cout<<"\n Destructor called"; 
     }
};
void* test::operator new(size_t size)
{
    cout<<"\n New called";
    void *storage = malloc(size);
    return storage;
}
void test::operator delete(void *p )
{
    cout<<"\n Delete called";
    free(p);
}
int main()
{
    test *m = new test();
    delete m;
    return 0;
}
 
Output
 
 New called
 Constructor called
 Destructor called
 Delete called



No comments:

Post a Comment