青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天行健 君子當自強而不息

C++, An Overview

There are two primary aspects to the programs we write

  1. A collection of algorithms (that is, the programmed instructions to solve a particular task)

  2. A collection of data against which the algorithms are run to provide each unique solution

These two primary program aspects, algorithms and data, have remained invariant throughout the short history of computing. What has evolved is the relationship between them. This relationship is spoken of as a programming paradigm.

In the procedural programming paradigm, a problem is directly modeled by a set of algorithms. A check-out/check-in system for loan materials of a public library, such as books, videos, and so on, is represented as a series of procedures, the two central procedures being the checking-out and checking-in of library materials. The data is stored separately, accessed either at a global location or by being passed into the procedures. Three prominent procedural languages are FORTRAN, C, and Pascal. C++ also supports procedural programming. Individual procedures, such as check_in(), check_out(), overdue(), fine(), and so on, are referred to as functions. Part III, Procedural-Based Programming, focuses on the support C++ provides for the procedural programming paradigm, with an emphasis on functions, function templates, and generic algorithms.

In the 1970s, the focus of program design shifted from the procedural paradigm to that of abstract data types (now generally referred to as object-based programming). In this paradigm, a problem is modeled by a set of data abstractions. In C++ we refer to these abstractions as classes. Our library check-out system, for example, under this paradigm is represented as the interaction between object instances of classes such as Book, Borrower, DueDate (an aspect of Time), and the inevitable Fine (an aspect of Money), representing the library abstractions. The algorithms associated with each class are referred to as the class's public interface. The data is privately stored within each object; access of the data is hidden from the general program. Three programming languages that support the abstract data type paradigm are CLU, Ada, and Modula-2. Part IV, Object-Based Programming, illustrates and discusses the support C++ provides for the abstract data type programming paradigm.

Object-oriented programming extends abstract data types through the mechanisms of inheritance (a "reuse" of an existing implementation) and dynamic binding (a reuse of an existing public interface). Special type/subtype relationships between previously independent types are now provided. A book, videotape, recording, and children's puppet are each a kind of library material, although each has its own check-out and check-in policy. The shared public interface and private data are placed in an abstract LibraryMaterial class. Each specific library material class inherits the shared behavior from the LibraryMaterial abstract class and need provide only the algorithms and data that support its behavior. Three prominent languages supporting the object-oriented paradigm are Simula, Smalltalk, and Java. Part V, Object-Oriented Programming, focuses on the support C++ provides for the object-oriented programming paradigm.

C++ is a multiparadigm language. Although we think of it primarily as an object-oriented language, it also provides support for procedural and object-based programming. The benefit is that we are able to provide a solution best suited to the problem ?in practice, no one paradigm represents a best solution to every problem. The drawback is that it makes for a larger and more complicated language.

In Part I, we present a quick tour of the entire C++ language. One reason for this is to provide a first introduction to the language features so that we can more freely reference aspects of the language before we fully treat them. For example, we don't look at classes in detail until Chapter 13, but if we waited until then to mention classes we would end up presenting a great many unrepresentative and largely irrelevant program examples.

A second reason for providing a breadth-first tour of the language is aesthetic. Unless you are exposed to the beauty and complexity of a Beethoven sonata or the exhilaration of a Scott Joplin rag, it is easy to become alternately impatient and bored with the apparent irrelevant detail of sharps, flats, octaves, and chords; but until those details are mastered, making music remains largely beyond our means. Much the same holds true with programming. Stepping through the maze of operator precedence or rules governing the standard arithmetic conversions is a necessary but necessarily tedious foundation to mastering programming in C++.

Chapter 1 provides a first introduction to the basic elements of the language: the built-in data types, variables, expressions, statements, and functions. It looks at a minimum legal C++ program, discusses the process of compiling our programs, briefly walks through the preprocessor, and takes a first look at support for input and output. It presents a number of simple but complete C++ programs that the reader is encouraged to compile and execute.

In Chapter 2, we walk through a procedural program, an object-based program, and then an object-oriented program implementation of an array ?that is, a numbered collection of elements of the same type. We then compare our array abstraction with the C++ standard library vector class and take a first look at the standard library generic algorithms. Along the way, we motivate and take a first peek at C++'s support for exception handling, templates, and namespaces. In effect, the entire language is introduced, although many of the details are deferred until later in the text.

Some readers may find portions of Chapter 2 rough going. Material is presented without the full explanation normally expected of a primer (the explanation is provided in subsequent chapters). If you should find yourself feeling overwhelmed or impatient at the level of detail, we recommend that you skim through or skip that portion, returning to it later when the material is more familiar. In Chapter 3, we begin the more traditional narrative pace, and the reader uncomfortable with Chapter 2 is recommended to start there.

posted on 2007-10-17 19:43 lovedday 閱讀(842) 評論(0)  編輯 收藏 引用 所屬分類: ▲ C++ Primer

公告

導航

統計

常用鏈接

隨筆分類(178)

3D游戲編程相關鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲午夜精品久久久久久app| 欧美一区二区三区四区在线 | 你懂的一区二区| 亚洲网址在线| 久久久久久久成人| 久久久亚洲精品一区二区三区 | 9人人澡人人爽人人精品| 国产精品视频999| 亚洲三级电影全部在线观看高清 | 久久久女女女女999久久| 欧美精品在线免费播放| 欧美jjzz| 最新国产成人av网站网址麻豆| 亚洲一区999| av成人免费观看| 免费久久久一本精品久久区| 久久精品99国产精品酒店日本| 欧美激情va永久在线播放| 欧美不卡福利| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久精品国产在热久久 | 91久久久亚洲精品| 亚洲电影欧美电影有声小说| 亚洲欧美综合| 久久这里有精品15一区二区三区| 国产一区二区三区在线观看免费| 午夜亚洲激情| 久久一区精品| 亚洲美女一区| 亚洲国产精品一区二区www| 亚洲日本黄色| 亚洲在线观看视频网站| 狠狠色狠狠色综合日日91app| 欧美一区2区三区4区公司二百| 欧美二区在线观看| 久久久噜噜噜久久中文字免 | 亚洲欧美国产不卡| 亚洲精品偷拍| 亚洲美女色禁图| 欧美日韩第一页| 浪潮色综合久久天堂| 亚洲精品乱码久久久久久蜜桃麻豆| 一本色道久久88精品综合| 国产精品国产精品国产专区不蜜| 欧美一区日本一区韩国一区| 亚洲精品免费一二三区| 久久久久久夜精品精品免费| 性欧美精品高清| 一区二区三区高清在线| 国内精品视频一区| 欧美午夜一区二区三区免费大片 | 欧美精品久久久久久久免费观看| 亚洲美女性视频| 亚洲国产日韩一区| 欧美电影免费| 美女图片一区二区| 另类春色校园亚洲| 噜噜噜躁狠狠躁狠狠精品视频| 小辣椒精品导航| 性欧美1819sex性高清| 午夜精品视频在线| 黄色成人av在线| 国产精品自拍小视频| 国产欧美在线看| 国产精品自拍小视频| 欧美视频免费看| 国产区精品视频| 亚洲茄子视频| 亚洲一区视频在线观看视频| 亚洲欧美激情一区| 久久se精品一区精品二区| 欧美一区二区三区四区在线| 开元免费观看欧美电视剧网站| 欧美jizz19性欧美| 亚洲欧美精品中文字幕在线| 欧美美女日韩| 久久久午夜精品| 欧美成人高清视频| 麻豆精品传媒视频| 欧美成年人视频| 嫩模写真一区二区三区三州| 99v久久综合狠狠综合久久| 欧美电影在线观看完整版| 亚洲精品国产日韩| 亚洲精品国精品久久99热| 欧美资源在线观看| 欧美日韩亚洲综合| 一区二区黄色| 亚洲第一黄色网| 久久综合久久综合这里只有精品| 欧美三日本三级少妇三2023| 亚洲第一网站免费视频| 久久午夜激情| 性色av一区二区三区| 国产精品丝袜91| 欧美一区1区三区3区公司| 亚洲性视频网站| 国产午夜精品久久久| 麻豆精品在线播放| 另类酷文…触手系列精品集v1小说| 国产精品一卡二卡| 久久综合色综合88| 欧美国产精品一区| 一区二区高清| 欧美韩国在线| 欧美视频在线观看免费| 欧美一区二区三区视频| 香蕉成人啪国产精品视频综合网| 国产三级精品三级| 另类欧美日韩国产在线| 免费成人av资源网| 亚洲女女做受ⅹxx高潮| 亚洲欧美日韩另类精品一区二区三区| 国产伦理一区| 亚洲精品国精品久久99热一| 欧美午夜www高清视频| 免费观看日韩av| 国产精品多人| 亚洲成人在线视频播放| 欧美精品电影| 欧美激情在线狂野欧美精品| 国产精品乱码一区二区三区| 欧美xart系列高清| 国产美女诱惑一区二区| 亚洲青色在线| 日韩午夜电影av| 欧美高清自拍一区| 亚洲第一在线| 亚洲精品九九| 国产精品99一区二区| 亚洲视频在线观看| 久久琪琪电影院| 亚洲国产合集| 欧美视频中文字幕在线| 亚洲一区二区精品在线| 久久久久国产一区二区| 欧美高清成人| 亚洲电影激情视频网站| 亚洲国产日韩欧美综合久久| 久久xxxx精品视频| 久久蜜桃精品| 亚洲大胆人体在线| 久久午夜视频| 亚洲盗摄视频| 亚洲视频999| 国产精品揄拍500视频| 亚洲欧美日韩精品久久久| 小处雏高清一区二区三区| 国产日韩在线看| 久久野战av| 一区二区三区免费观看| 亚洲永久免费精品| 红杏aⅴ成人免费视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美福利小视频| 亚洲免费中文| 亚洲国产天堂久久国产91| 欧美日韩一区二区三区在线看| 在线性视频日韩欧美| 麻豆freexxxx性91精品| 99视频一区| 韩日欧美一区| 国产精品夜夜夜一区二区三区尤| 小嫩嫩精品导航| 亚洲美女av在线播放| 欧美α欧美αv大片| 亚洲欧美一区二区三区在线| 亚洲国产精品成人综合| 国产日韩欧美三区| 欧美午夜在线| 欧美日本不卡| 裸体女人亚洲精品一区| 久久国产99| 性欧美精品高清| 欧美一区二区三区久久精品茉莉花| 99re热这里只有精品免费视频| 久久久久久久综合日本| 久久国产成人| 性欧美精品高清| 欧美一区二区三区视频在线观看| 一本一本久久| 欧美有码在线视频| 久久精品成人| 免费久久精品视频| 欧美国产日韩一区二区| 亚洲国产精品久久久久秋霞影院 | 欧美精品一区二区三区蜜桃 | 国产精品99久久久久久久久久久久| 亚洲精品你懂的| av成人免费在线| 久久av一区| 欧美高清在线视频观看不卡| 欧美激情视频网站| 一区二区欧美国产| 欧美一区久久| 欧美丝袜一区二区| 亚洲高清精品中出| 亚洲欧美日本国产专区一区| 老鸭窝91久久精品色噜噜导演| 亚洲黄色有码视频|