• Main Menu
  • C

    • Exception Handling

      Exception Handling

      There are two kinds of exceptions, namely, synchronous exceptions and asynchronous exceptions. Errors such as “out-of-range index” and “over-flow” belong to the synchronous type exceptions. The errors that are caused by events beyond the control of the program (such as keyboard interrupts) are called asynchronous exceptions. The proposed exception handling mechanism in C++ is designed

    • Constructors in Derived Classes

      A constructor plays a vital role in initializing an object. An important note, while using constructors during inheritance, is that, as long as a base class constructor does not take any arguments, the derived class need not have a constructor function. However, if a base class contains a constructor with one or more arguments, then

    • Breadth First Search Algorithm

      Breadth First Search Algorithm

      A breadth first search traversal method, visits all the successors of a visited node before visiting any successor of any of its child nodes. This is a contradiction to depth first traversal method; which visits the successor of a visited node before visiting any of its brothers, i.e., children of the same parent. A depth

    • Traversing and Searching a Linear Linked List

      Traversing and Searching a Linear Linked List

      Traversing a list A linear list can be traversed in two ways In order traversal Reverse order traversal In order Traversal To traverse the linear linked list, we walk the list using the pointers, and process each element until we reach the last element. .cf { font-family: Lucida Console; font-size: 9pt; color: black; background: white;

    • Type Conversion – Basic to Class Type

      Type Conversion – Basic to Class Type

      The conversion from basic to user defined data types can be done using constructors. Consider the following constructor: .cf { font-family: Lucida Console; font-size: 9pt; color: black; background: white; } .cl { margin: 0px; } .cb1 { color: green; } .cb2 { color: blue; } .cb3 { color: maroon; }   String :: String(char *a)

    • Circular Queue

      Circular Queue

      The difficulty of managing front and rear in an array-based non-circular queue can be overcome if we treat the queue position with index 0 as if it comes after the last position (in our case, index 9), i.e., we treat the queue as circular. Note that we use the same array declaration of the queue.

    • Binary Tree – Deleting a Node

      Binary Tree – Deleting a Node

      The possibilities which may arise during deleting a node from a binary tree are as follows: Node is a terminal node: In this case, if the node is a left child of its parent, then the left pointer of its parent is set to NULL. Otherwise if the node is a right child of its

    • Binary Tree – Searching a Node

      Binary Tree – Searching a Node

      An element in a binary search tree can be searched very quickly. A search operation on binary tree is similar to applying binary search technique to a sorted linear array. The element to be searched will be first compared with root node. If it matches with the root node then the search terminates. Otherwise search

    • Type Conversion – Class to Class

      Type Conversion – Class to Class

      Now that we have understood how to convert basic data types to class types and vice-versa, it is time to learn how to convert objects of one class type to another class type. The conversion between objects of different classes can be done using either a one-argument constructor or a conversion function. The choice depends

    • Overloading Binary Operators

      Overloading Binary Operators

      Binary operators can be overloaded in a similar manner as unary operators. We should note the following features of an operator function for a binary operator: It receives only one class type argument explicitly, in case of a member function. For a friend function, two class types are received as arguments. It returns a class

    c
    180 queries in 0.697 seconds.