Monday, 16 April 2018

CIS 328 Technical Paper: Classes and Class Hierarchies in C++


Due Week 10 and worth 125 points

C++ is a general-purpose programming language designed as an improvement to the C programming language. In short, the language is a super set of C. The most important feature of C++ is the concept of a class, which can be described as a user defined type. 

The technical paper is based on the importance of classes and class hierarchies within C++. The intent of this paper is to provide you with an in-depth knowledge of the manner in whichclasses form the foundation of C++ programming.

Use the Internet to research the following seven (7) concepts of C++:
                      i.        Classes
                     ii.        Objects as instantiations of classes
                    iii.        Abstraction
                    iv.        Encapsulation
                     v.        Inheritance
                    vi.        Templates
                   vii.        Containers

Next, consider the following advice that Bjarne Stroustrup, the creator of C++, provided to C++ programmers:
When you program, you create a concrete representation of the ideas in your solution to some problem. Let the structure of the program reflect those ideas as directly as possible:
                      i.        If you can think of “it” as a separate idea, make it a class.
                     ii.        If you can think of “it” as a separate entity, make it an object of some class.
                    iii.        If two classes have a common interface, make that interface an abstract class.
                    iv.        If the implementation of two classes has something significant in common, that commonality is a base class.
                     v.        If a class is a container of objects, make it a template.
                    vi.        If a function implements an algorithm for a container, make it a template function the algorithm for a family of containers.
                   vii.        If a set of classes, templates, etc., are logically related, place them in a common namespace.

Write a five to seven (5-7) page paper in which you:
  1. Explain each of the seven (7) concepts of C++, and analyze the fundamental manner in whichthey each relate to C++ coding of programs.
  2. Provide a short code example of the use of C++ syntax within the context of an employee database.
  3. Determine the manner in whicheach of the provided concepts relates to the concept of object-oriented programming. Justify your response.
  1. Explain each element of Bjarne Stroustrup’s advice,and explore the primary manner in which each frames the object-oriented programming components into classes, objects, interfaces, templates, and containers.
·         To help you understand this assignment further, an example may be useful. For example, in researching and writing on the subject of classes you would be expected to cover the following:
o    The ways in which classes are an improvement from the concept of structures in the C programming language.
o    The manner in which classes encapsulate (i.e., enclose) functions that are members of the classes (i.e., enclosed within the class) and variables (i.e., enclosed within the class). The fact that such members represent behavior and characteristics of the class.
o    The ways in which classes restrict access to the member functions and variables through the use of access specifiers such as private, protected, and public.
  1. Use at least ten (10) quality resources in this assignment. Note: Wikipedia and similar Websites do not qualify as quality resources.

Your assignment must follow these formatting requirements:
  • Be typed, double spaced, using Times New Roman font (size 12), with one-inch margins on all sides; citations and references must follow APA or school-specific format. Check with your professor for any additional instructions.
  • Include a cover page containing the title of the assignment, the student’s name, the professor’s name, the course title, and the date. The cover page and the reference page are not included in the required assignment page length.

The specific course learning outcomes associated with this assignment are:
·         Demonstrate the ability to group classes into a class hierarchy.
·         Demonstrate an understanding of object-oriented design as part of the software lifecycle.
·         Compare and contrast common design patterns.
·         Use technology and information resources to research issues in C++ Programming.
·         Write clearly and concisely about introductory C++ Programming topics using proper writing mechanics and technical style conventions.

Grading for this assignment will be based on answer quality, logic / organization of the paper, and language and writing skills, using the following rubric.

Buy now

No comments:
Write comments