Posts

LAB Practical III

a) write a c++ program to implement binary and unary operator overloading  

LAB Practical II

i) Write a c++ program to show static member function and static member data. ii) Write a c++ program to show constructor, destructor, inheritance and dynamic memory allocation in same program.

Operator Overloading

Image
Operator overloading is an important concept in C++. It is a type of polymorphism in which an operator is overloaded to give user defined meaning to it. Overloaded operator is used to perform operation on user-defined data type. For example '+' operator can be overloaded to perform addition on various data types, like for Integer, String(concatenation) etc. Almost any operator can be overloaded in C++. However there are few operator which can not be overloaded. Operator that are not overloaded are follows scope operator - :: sizeof member selector - . member pointer selector - * ternary operator - ?: Operator Overloading Syntax Implementing Operator Overloading Operator overloading can be done by implementing a function which can be : Member Function Non-Member Function Friend Function Operator overloading function can be a member function if the Left operand is an Object of that class, but if the Left operand is different, then Operator ove...

LAB Practical I

Write a c++ program to show multiple inheritance and dynamic polymorphism in same program.

B.TECH CSE BT ECE(oop's): Abstract Classes in C++

Sometimes implementation of all function cannot be provided in a base class because we don’t know the implementation. Such a class is called abstract class. For example, let Shape be a base class. We cannot provide implementation of function draw() in Shape, but we know every derived class must have implementation of draw(). Similarly an Animal class doesn’t have implementation of move() (assuming that all animals move), but all animals must know how to move. We cannot create objects of abstract classes. A pure virtual function (or abstract function) in C++ is a virtual function for which we don’t have implementation, we only declare it. A pure virtual function is declared by assigning 0 in declaration. See the following example. #include<iostream> using namespace std;     class Base {     int x; public :      virtual void fun() = 0;      int getX() { return x; } }; ...

B.TECH CSE BT ECE(oop's): ‘this’ pointer in C++

To understand ‘this’ pointer, it is important to know that how objects look at functions and data members of a class. 1. Each object gets its own copy of the data member. 2. All access the same function definition as present in the code segment. Meaning each object gets its own copy of data members and all objects share single copy of member functions. Then now question is that if only one copy of each member function exists and is used by multiple objects, how are the proper data members are accessed and updated? Compiler supplies an implicit pointer along with the functions names as ‘this’. The ‘this’ pointer is passed as a hidden argument to all nonstatic member function calls and is available as a local variable within the body of all nonstatic functions. ‘this’ pointer is a constant pointer that holds the memory address of the current object. ‘this’ pointer is not available in static member functions as static member functions can be called without any object (with ...

B.TECH CSE BT ECE(oop's): Member Function

Types of Member Functions We already know what member functions are and what they do. Now lets study some special member functins present in the class. Following are different types of Member functions, Simple functions Static functions Const functions Inline functions Friend functions a) Simple Member functions These are the basic member function, which dont have any special keyword like static etc as prefix. All the general member functions, which are of below given form, are termed as simple and basic member functions. return_type functionName(parameter_list) { function body; } b) Static member functions/ Static Data member  When we declare a normal variable (data member) in a class, different copies of those data members create with the associated objects. In some cases when we need a common data member that should be same for all objects, we cannot do this using normal data members. To fulfill such cases, we need static data members. In...