Page 326 - DCAP404 _Object Oriented Programming
P. 326

Unit 14: Advanced Concept in C++




             The record of the medium-sized Indian software companies has been mixed. For every  Notes
             successful acquisition, there have been instances of prolonged integration problems, while
             others have led to financial problems. Take for instance, Silverline Technologies’ acquisition
             of e-business consulting firm, Seranova Inc. US in 2000/01. Practically, all the financial
             problems that have bedevilled Silverline since then could be linked in some way to this
             ambitious  acquisition.

             Leave alone overseas acquisitions, medium sized companies have had a tough time putting
             together M&As between two  domestic entities.  Take the  case of  Polaris Software. Its
             merger with Orbitech Solutions, the technology subsidiary of Citigroup, first announced
             in May 2002,  ran into a multitude of problems relating to integration of the two work
             cultures. By October 2002, the stock swap ratio had to be changed and Polaris faced sustained
             challenges  on  the employee  front. Though  some signs  of  stability  in the  financial
             performance have been seen in the recent quarters, sustained benefits from the merger
             will take time to get fully reflected in the financials. Ultimately, the success of any M&A
             exercise itself takes at least a year or two to pan out. As Cisco’s CEO, Mr John Chambers,
             said, “In the average acquisition, 40 to 80 per cent of the top management and key engineers
             are gone in two years. I would measure the success of my acquisitions through retention
             of people and revenue that you generate two or three years later.”
             It is hardly surprising that Infosys has structured its latest deal with milestone payments
             every year subject to the certain financial and key employee retention targets being met.
             And since no foolproof formula has been evolved for managing the integration, a cautious
             approach to M&A will remain the norm.
          14.9 Summary

              In C++ when a function is overloaded, many copies of it have to be created, one for each
               data type it act on. A template function may be defined as an unbounded functions.
              The definition of the templates begins with the template keyword followed by a comma-
               separated list of parameter types enclosed within the less than (<) and greater than (>)
               signs.
              Templates classes may be defined as the layout and operations for an unbounded set of
               related classes.
              While template functions and classes are usable for any data type, that would hold true
               only, as long as the body of functions or the class is identical throughout.
              Specialization would consist of instantiating the templates definition for a specific data type
               if the templates instance does not exist, and the definition is not visible, generate an error.

              Syntactic errors are relatively easy to find and correct, even if the resulting error messages
               are unclear. Execution errors, on  the other hand, can be much more trouble some.
              Logical errors can be very difficult to detect, since that output resulting from a logically
               incorrect program may appear to be error-free. Errors isolation is useful for locating an
               error resulting in a diagnostic message.

          14.10 Keywords

          Break Point: A breakpoint is a temporary stopping point within a program.

          Logical Errors: Logical error can be very difficult to detect, since the output resulting from a
          logically incorrect program may appear to be error free.




                                           LOVELY PROFESSIONAL UNIVERSITY                                   319
   321   322   323   324   325   326   327   328   329   330