5,765 research outputs found

    Comparative Study of the Function Overloading and Function Overriding Using C++

    Full text link
    In the Object-Oriented Programming Systems (OOPS), these two concepts namely function overloading and function overriding are a bit confusing to the programmers. In this article this confusion is tried to be removed. Both of these are the concepts which come under the polymorphism (poly means many and morph mean forms). In the article the comparison is done in between them. For the new programmers and the learners, it is important to understand them. The function overloading [1] is achieved at the time of the compile and the function overriding is achieved at the run time. The function overriding always takes place in inheritance, but the function overloading can also take place without inheritance.Comment: 4 pages, 5 figures, 1 tabl

    NOODLE++: a 3 Dimensional Net-based Object-orientated Development Model

    Get PDF
    HKU CS Tech Report TR-95-04Object-oriented analysis and design methodologies are considered as the most popular software development methods for the 1990s. A common drawback, however, is that they have been developed informally. There is no theoretical framework enabling us to define precisely the object-oriented concepts involved, to solve concurrency problems, and to verify the correctness of the implementation. We propose a 3-dimensional net structure behind object-oriented software development. This structure consolidates the concepts of classes, inheritance, overloading and message passing through a single model. Inheritance and overloading can be unified with message passing in a 3-dimensional representation, but are physically differentiable by occupying the vertical and horizontal planes,respectively, of the model. Furthermore, the formal model can be mapped to various object-oriented analysis and design notations. The theoretical framework can thus be adopted for systems validation and verification for existing methodologies. The liveness and consistencies of objects can be verified, and inheritance and interaction coupling can be identified and checked.preprintThis research is supported in part by a grant of the Research Grants Council

    Compiling knowledge-based systems from KEE to Ada

    Get PDF
    The dominant technology for developing AI applications is to work in a multi-mechanism, integrated, knowledge-based system (KBS) development environment. Unfortunately, systems developed in such environments are inappropriate for delivering many applications - most importantly, they carry the baggage of the entire Lisp environment and are not written in conventional languages. One resolution of this problem would be to compile applications from complex environments to conventional languages. Here the first efforts to develop a system for compiling KBS developed in KEE to Ada (trademark). This system is called KATYDID, for KEE/Ada Translation Yields Development Into Delivery. KATYDID includes early prototypes of a run-time KEE core (object-structure) library module for Ada, and translation mechanisms for knowledge structures, rules, and Lisp code to Ada. Using these tools, part of a simple expert system was compiled (not quite automatically) to run in a purely Ada environment. This experience has given us various insights on Ada as an artificial intelligence programming language, potential solutions of some of the engineering difficulties encountered in early work, and inspiration on future system development

    The C++0x "Concepts" Effort

    Full text link
    C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was "concepts", that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but then in July of 2009, the committee voted the concepts extension back out of C++0x. This article is my account of the technical challenges and debates within the "concepts" effort in the years 2003 to 2009. To provide some background, the article also describes the design space for constrained parametric polymorphism, or what is colloquially know as constrained generics. While this article is meant to be generally accessible, the writing is aimed toward readers with background in functional programming and programming language theory. This article grew out of a lecture at the Spring School on Generic and Indexed Programming at the University of Oxford, March 2010
    • …
    corecore