相关推荐
-
Object Oriented Software Construction 2nd Edition
介紹物件導向軟體工程之書籍
-
学C++有什么用
C++是一种高级编程语言,广泛用于软件开发,游戏开发,操作系统和嵌入式系统等领域。
-
都说C++难,那么它到底难在了哪里?
众所周知,高端的和底层的开发还是主要C与C++的天下。比如开发驱动程序,系统服务,高效的网络通信程序(比如大型网游),甚至开发象SQL SERVER这样的软件。C++的执行效率也是最高的。可惜的是,C++并不是每个人都适合开发,它的复杂度和难度是远远超过Java,C++对比其他语言到底难在哪里?有人对C++异常推崇,除了性能优势,还有什么优点,怎么学好C++? 第一:能力上限要求高 C++的能力上限非常高,可以说在软件领域没有C++做不好和做不到的事情,只是开发者水平和成本问题,而C++...
-
学习C/C++的简单方法
如何学习C++呢。C和C++是很多专业的必修课,尤其对计算机专业来说,更是重中之重。C++语言是早期发展的高级语言,具备执行速度快,语法优美等特点。是底层高效率系统的首选开发语言。今天就和大家分享一下怎么学好C/C++语言吧 _ 怎么学好C++、C语言呢 工具/原料 C/C++学习资料 浓厚的兴趣 持之以恒的态度 方法/步骤 1 找一本好的书本教材,辅助看教学视频 好的...
-
C/C++要学什么东西?C/C++学完能干什么?学了又能当饭吃吗?
前言 普遍问题 学校的课程设计不完善,涉及面广,什么都不深入。 老师缺乏实际的工作经验,比如说我经常看到老师经常教学生做数学题之类的小程序,但是,实际工作中,我们并不玩这个。 在我看来,要学习某种编程语言,没必要去局限课堂,一方面是进度慢,另一方面,如果你要学习某种语言,关键在学而不在教,你的态度和决心是关键,只要你有决心,没人教也能学会,现在互联网这么发达,什么内容都可以找得到...
-
C++到底还能做什么?
嗯,这是一位朋友发到我邮箱里面的,很奇怪,发到了gmail邮箱,而不是我常用的hotmail邮箱哈。 我呢,试着回答一下,如果回答得不好,叫做肖某人学艺不精,回去重新学习再来过哈。呵呵。 一家之言哈,欢迎拍装。 原文如下: 肖老师您好: 我现在是一名在校大学生,在学校期间自学C++有两年的时间了,看过C++Primer,stl,inside C++ model(侯捷翻译的那本),com本...
-
C++到底是难在哪里?
C++的难点绝对不是单纯的学习C++的语法。 对于大多数人,都学过C语言,所以一般很容易上手C++; 但是单纯的学习C++语法是没有多大实际用处的,这时,我们一般就会学习MFC,Qt之类的。 这些都是框架,已经不完全是C++了,学起来当然有难度,千万别灰心哦!
-
corenet轻量级网络库
corenet轻量级网络库介绍软件架构软件架构说明内存池说明安装教程使用说明HttpServer调试简记(2020.05.29)其它参与贡献致谢码云链接 介绍 本项目提供一种轻量级的网络库,设计思想是one loop per thread + thread pool。 项目已实现: 1、基于TCP的简单聊天室; 2、简单的HTTP服务器(webbench测试的QPS可以达到1万),其中包括功能:用户登录、注册、权限控制、文件上传、文件下载、已上传视频播放、已上传图片展示;(由于使用url传递文件名称,因此展
-
我的c++学习计划(两年计划)
本人11年7月毕业,系辽宁某一本学校毕业,专业软件工程,在校时主修java,没有学习过C++,当时在学校考研究生,没有考上,因为家里有位亲戚在西安搞C++的软件开发,通过几次交流之后对此人甚是佩服,于是义无反顾的追随人家到了西安(女朋友也跟着来了),通过介绍进入了亲戚以前在的公司,搞C++开发,我和女朋友都是东北的孩子,在西安人生地不熟,没有朋友,生活很是艰苦,本人开始想要努力学习工作两年,学好本
-
C/C++程序员必须熟练应用的开源项目
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉。问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用
-
Object-Oriented Software Construction 2nd
Contents Preface v Foreword to the second edition xiii About the accompanying CD-ROM xiv On the bibliography, Internet sources and exercises xv Contents xvii PART A: THE ISSUES 1 Chapter 1: Software quality 3 1.1 EXTERNAL AND INTERNAL FACTORS 3 1.2 A REVIEW OF EXTERNAL FACTORS 4 1.3 ABOUT SOFTWARE MAINTENANCE 17 1.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 19 1.5 BIBLIOGRAPHICAL NOTES 19 Chapter 2: Criteria of object orientation 21 2.1 ON THE CRITERIA 21 2.2 METHOD AND LANGUAGE 22 2.3 IMPLEMENTATION AND ENVIRONMENT 31 2.4 LIBRARIES 33 2.5 FOR MORE SNEAK PREVIEW 34 2.6 BIBLIOGRAPHICAL NOTES AND OBJECT RESOURCES 34 PART B: THE ROAD TO OBJECT ORIENTATION 37 Chapter 3: Modularity 39 3.1 FIVE CRITERIA 40 3.2 FIVE RULES 46 3.3 FIVE PRINCIPLES 53 3.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 64 3.5 BIBLIOGRAPHICAL NOTES 64 EXERCISES 65CONTENTS xviii Chapter 4: Approaches to reusability 67 4.1 THE GOALS OF REUSABILITY 68 4.2 WHAT SHOULD WE REUSE? 70 4.3 REPETITION IN SOFTWARE DEVELOPMENT 74 4.4 NON-TECHNICAL OBSTACLES 74 4.5 THE TECHNICAL PROBLEM 81 4.6 FIVE REQUIREMENTS ON MODULE STRUCTURES 83 4.7 TRADITIONAL MODULAR STRUCTURES 89 4.8 OVERLOADING AND GENERICITY 93 4.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 98 4.10 BIBLIOGRAPHICAL NOTES 99 Chapter 5: Towards object technology 101 5.1 THE INGREDIENTS OF COMPUTATION 101 5.2 FUNCTIONAL DECOMPOSITION 103 5.3 OBJECT-BASED DECOMPOSITION 114 5.4 OBJECT-ORIENTED SOFTWARE CONSTRUCTION 116 5.5 ISSUES 117 5.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 119 5.7 BIBLIOGRAPHICAL NOTES 119 Chapter 6: Abstract data types 121 6.1 CRITERIA 122 6.2 IMPLEMENTATION VARIATIONS 122 6.3 TOWARDS AN ABSTRACT VIEW OF OBJECTS 126 6.4 FORMALIZING THE SPECIFICATION 129 6.5 FROM ABSTRACT DATA TYPES TO CLASSES 142 6.6 BEYOND SOFTWARE 147 6.7 SUPPLEMENTARY TOPICS 148 6.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 159 6.9 BIBLIOGRAPHICAL NOTES 160 EXERCISES 161 PART C: OBJECT-ORIENTED TECHNIQUES 163 Chapter 7: The static structure: classes 165 7.1 OBJECTS ARE NOT THE SUBJECT 165 7.2 AVOIDING THE STANDARD CONFUSION 166 7.3 THE ROLE OF CLASSES 169 7.4 A UNIFORM TYPE SYSTEM 171 7.5 A SIMPLE CLASS 172 7.6 BASIC CONVENTIONS 177CONTENTS xix 7.7 THE OBJECT-ORIENTED STYLE OF COMPUTATION 181 7.8 SELECTIVE EXPORTS AND INFORMATION HIDING 191 7.9 PUTTING EVERYTHING TOGETHER 194 7.10 DISCUSSION 203 7.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 213 7.12 BIBLIOGRAPHICAL NOTES 215 EXERCISES 216 Chapter 8: The run-time structure: objects 217 8.1 OBJECTS 218 8.2 OBJECTS AS A MODELING TOOL 228 8.3 MANIPULATING OBJECTS AND REFERENCES 231 8.4 CREATION PROCEDURES 236 8.5 MORE ON REFERENCES 240 8.6 OPERATIONS ON REFERENCES 242 8.7 COMPOSITE OBJECTS AND EXPANDED TYPES 254 8.8 ATTACHMENT: REFERENCE AND VALUE SEMANTICS 261 8.9 DEALING WITH REFERENCES: BENEFITS AND DANGERS 265 8.10 DISCUSSION 270 8.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 276 8.12 BIBLIOGRAPHICAL NOTES 277 EXERCISES 277 Chapter 9: Memory management 279 9.1 WHAT HAPPENS TO OBJECTS 279 9.2 THE CASUAL APPROACH 291 9.3 RECLAIMING MEMORY: THE ISSUES 293 9.4 PROGRAMMER-CONTROLLED DEALLOCATION 294 9.5 THE COMPONENT-LEVEL APPROACH 297 9.6 AUTOMATIC MEMORY MANAGEMENT 301 9.7 REFERENCE COUNTING 302 9.8 GARBAGE COLLECTION 304 9.9 PRACTICAL ISSUES OF GARBAGE COLLECTION 309 9.10 AN ENVIRONMENT WITH MEMORY MANAGEMENT 312 9.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 315 9.12 BIBLIOGRAPHICAL NOTES 315 EXERCISES 316 Chapter 10: Genericity 317 10.1 HORIZONTAL AND VERTICAL TYPE GENERALIZATION 317 10.2 THE NEED FOR TYPE PARAMETERIZATION 318 10.3 GENERIC CLASSES 320CONTENTS xx 10.4 ARRAYS 325 10.5 THE COST OF GENERICITY 328 10.6 DISCUSSION: NOT DONE YET 329 10.7 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 329 10.8 BIBLIOGRAPHICAL NOTES 330 EXERCISES 330 Chapter 11: Design by Contract: building reliable software 331 11.1 BASIC RELIABILITY MECHANISMS 332 11.2 ABOUT SOFTWARE CORRECTNESS 333 11.3 EXPRESSING A SPECIFICATION 334 11.4 INTRODUCING ASSERTIONS INTO SOFTWARE TEXTS 337 11.5 PRECONDITIONS AND POSTCONDITIONS 338 11.6 CONTRACTING FOR SOFTWARE RELIABILITY 341 11.7 WORKING WITH ASSERTIONS 348 11.8 CLASS INVARIANTS 363 11.9 WHEN IS A CLASS CORRECT? 369 11.10 THE ADT CONNECTION 373 11.11 AN ASSERTION INSTRUCTION 378 11.12 LOOP INVARIANTS AND VARIANTS 380 11.13 USING ASSERTIONS 389 11.14 DISCUSSION 398 11.15 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 406 11.16 BIBLIOGRAPHICAL NOTES 407 EXERCISES 408 POSTSCRIPT: THE ARIANE 5 FAILURE 410 Chapter 12: When the contract is broken: exception handling 411 12.1 BASIC CONCEPTS OF EXCEPTION HANDLING 411 12.2 HANDLING EXCEPTIONS 414 12.3 AN EXCEPTION MECHANISM 419 12.4 EXCEPTION HANDLING EXAMPLES 422 12.5 THE TASK OF A RESCUE CLAUSE 427 12.6 ADVANCED EXCEPTION HANDLING 431 12.7 DISCUSSION 435 12.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 437 12.9 BIBLIOGRAPHICAL NOTES 438 EXERCISES 438 Chapter 13: Supporting mechanisms 439 13.1 INTERFACING WITH NON-O-O SOFTWARE 439 13.2 ARGUMENT PASSING 444CONTENTS xxi 13.3 INSTRUCTIONS 447 13.4 EXPRESSIONS 452 13.5 STRINGS 456 13.6 INPUT AND OUTPUT 457 13.7 LEXICAL CONVENTIONS 457 13.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 458 EXERCISES 458 Chapter 14: Introduction to inheritance 459 14.1 POLYGONS AND RECTANGLES 460 14.2 POLYMORPHISM 467 14.3 TYPING FOR INHERITANCE 472 14.4 DYNAMIC BINDING 480 14.5 DEFERRED FEATURES AND CLASSES 482 14.6 REDECLARATION TECHNIQUES 491 14.7 THE MEANING OF INHERITANCE 494 14.8 THE ROLE OF DEFERRED CLASSES 500 14.9 DISCUSSION 507 14.10 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 516 14.11 BIBLIOGRAPHICAL NOTES 517 EXERCISES 517 Chapter 15: Multiple inheritance 519 15.1 EXAMPLES OF MULTIPLE INHERITANCE 519 15.2 FEATURE RENAMING 535 15.3 FLATTENING THE STRUCTURE 541 15.4 REPEATED INHERITANCE 543 15.5 DISCUSSION 563 15.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 566 15.7 BIBLIOGRAPHICAL NOTES 567 EXERCISES 567 Chapter 16: Inheritance techniques 569 16.1 INHERITANCE AND ASSERTIONS 569 16.2 THE GLOBAL INHERITANCE STRUCTURE 580 16.3 FROZEN FEATURES 583 16.4 CONSTRAINED GENERICITY 585 16.5 ASSIGNMENT ATTEMPT 591 16.6 TYPING AND REDECLARATION 595 16.7 ANCHORED DECLARATION 598 16.8 INHERITANCE AND INFORMATION HIDING 605 16.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 609CONTENTS xxii 16.10 BIBLIOGRAPHICAL NOTE 610 EXERCISES 610 Chapter 17: Typing 611 17.1 THE TYPING PROBLEM 611 17.2 STATIC TYPING: WHY AND HOW 615 17.3 COVARIANCE AND DESCENDANT HIDING 621 17.4 FIRST APPROACHES TO SYSTEM VALIDITY 628 17.5 RELYING ON ANCHORED TYPES 630 17.6 GLOBAL ANALYSIS 633 17.7 BEWARE OF POLYMORPHIC CATCALLS! 636 17.8 AN ASSESSMENT 639 17.9 THE PERFECT FIT 640 17.10 KEY CONCEPTS STUDIED IN THIS CHAPTER 641 17.11 BIBLIOGRAPHICAL NOTES 641 Chapter 18: Global objects and constants 643 18.1 CONSTANTS OF BASIC TYPES 643 18.2 USE OF CONSTANTS 645 18.3 CONSTANTS OF CLASS TYPES 646 18.4 APPLICATIONS OF ONCE ROUTINES 648 18.5 CONSTANTS OF STRING TYPE 653 18.6 UNIQUE VALUES 654 18.7 DISCUSSION 656 18.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 659 18.9 BIBLIOGRAPHICAL NOTES 660 EXERCISES 660 PART D: OBJECT-ORIENTED METHODOLOGY: APPLYING THE METHOD WELL 661 Chapter 19: On methodology 663 19.1 SOFTWARE METHODOLOGY: WHY AND WHAT 663 19.2 DEVISING GOOD RULES: ADVICE TO THE ADVISORS 664 19.3 ON USING METAPHORS 671 19.4 THE IMPORTANCE OF BEING HUMBLE 673 19.5 BIBLIOGRAPHICAL NOTES 674 EXERCISES 674 Chapter 20: Design pattern: multi-panel interactive systems 675 20.1 MULTI-PANEL SYSTEMS 675 20.2 A SIMPLE-MINDED ATTEMPT 677CONTENTS xxiii 20.3 A FUNCTIONAL, TOP-DOWN SOLUTION 678 20.4 A CRITIQUE OF THE SOLUTION 682 20.5 AN OBJECT-ORIENTED ARCHITECTURE 684 20.6 DISCUSSION 693 20.7 BIBLIOGRAPHICAL NOTE 694 Chapter 21: Inheritance case study: “undo” in an interactive system 695 21.1 PERSEVERARE DIABOLICUM 695 21.2 FINDING THE ABSTRACTIONS 699 21.3 MULTI-LEVEL UNDO-REDO 704 21.4 IMPLEMENTATION ASPECTS 707 21.5 A USER INTERFACE FOR UNDOING AND REDOING 711 21.6 DISCUSSION 712 21.7 BIBLIOGRAPHICAL NOTES 715 EXERCISES 715 Chapter 22: How to find the classes 719 22.1 STUDYING A REQUIREMENTS DOCUMENT 720 22.2 DANGER SIGNALS 726 22.3 GENERAL HEURISTICS FOR FINDING CLASSES 731 22.4 OTHER SOURCES OF CLASSES 735 22.5 REUSE 740 22.6 THE METHOD FOR OBTAINING CLASSES 741 22.7 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 743 22.8 BIBLIOGRAPHICAL NOTES 744 Chapter 23: Principles of class design 747 23.1 SIDE EFFECTS IN FUNCTIONS 748 23.2 HOW MANY ARGUMENTS FOR A FEATURE? 764 23.3 CLASS SIZE: THE SHOPPING LIST APPROACH 770 23.4 ACTIVE DATA STRUCTURES 774 23.5 SELECTIVE EXPORTS 796 23.6 DEALING WITH ABNORMAL CASES 797 23.7 CLASS EVOLUTION: THE OBSOLETE CLAUSE 802 23.8 DOCUMENTING A CLASS AND A SYSTEM 803 23.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 806 23.10 BIBLIOGRAPHICAL NOTES 806 EXERCISES 807CONTENTS xxiv Chapter 24: Using inheritance well 809 24.1 HOW NOT TO USE INHERITANCE 809 24.2 WOULD YOU RATHER BUY OR INHERIT? 812 24.3 AN APPLICATION: THE HANDLE TECHNIQUE 817 24.4 TAXOMANIA 820 24.5 USING INHERITANCE: A TAXONOMY OF TAXONOMY 822 24.6 ONE MECHANISM, OR MORE? 833 24.7 SUBTYPE INHERITANCE AND DESCENDANT HIDING 835 24.8 IMPLEMENTATION INHERITANCE 844 24.9 FACILITY INHERITANCE 847 24.10 MULTIPLE CRITERIA AND VIEW INHERITANCE 851 24.11 HOW TO DEVELOP INHERITANCE STRUCTURES 858 24.12 A SUMMARY VIEW: USING INHERITANCE WELL 862 24.13 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 863 24.14 BIBLIOGRAPHICAL NOTES 863 24.15 APPENDIX: A HISTORY OF TAXONOMY 864 EXERCISES 869 Chapter 25: Useful techniques 871 25.1 DESIGN PHILOSOPHY 871 25.2 CLASSES 872 25.3 INHERITANCE TECHNIQUES 873 Chapter 26: A sense of style 875 26.1 COSMETICS MATTERS! 875 26.2 CHOOSING THE RIGHT NAMES 879 26.3 USING CONSTANTS 884 26.4 HEADER COMMENTS AND INDEXING CLAUSES 886 26.5 TEXT LAYOUT AND PRESENTATION 891 26.6 FONTS 900 26.7 BIBLIOGRAPHICAL NOTES 901 EXERCISES 902 Chapter 27: Object-oriented analysis 903 27.1 THE GOALS OF ANALYSIS 903 27.2 THE CHANGING NATURE OF ANALYSIS 906 27.3 THE CONTRIBUTION OF OBJECT TECHNOLOGY 907 27.4 PROGRAMMING A TV STATION 907 27.5 EXPRESSING THE ANALYSIS: MULTIPLE VIEWS 914 27.6 ANALYSIS METHODS 917 27.7 THE BUSINESS OBJECT NOTATION 919 27.8 BIBLIOGRAPHY 922CONTENTS xxv Chapter 28: The software construction process 923 28.1 CLUSTERS 923 28.2 CONCURRENT ENGINEERING 924 28.3 STEPS AND TASKS 926 28.4 THE CLUSTER MODEL OF THE SOFTWARE LIFECYCLE 926 28.5 GENERALIZATION 928 28.6 SEAMLESSNESS AND REVERSIBILITY 930 28.7 WITH US, EVERYTHING IS THE FACE 933 28.8 KEY CONCEPTS COVERED IN THIS CHAPTER 934 28.9 BIBLIOGRAPHICAL NOTES 934 Chapter 29: Teaching the method 935 29.1 INDUSTRIAL TRAINING 935 29.2 INTRODUCTORY COURSES 937 29.3 OTHER COURSES 941 29.4 TOWARDS A NEW SOFTWARE PEDAGOGY 942 29.5 AN OBJECT-ORIENTED PLAN 946 29.6 KEY CONCEPTS STUDIED IN THIS CHAPTER 948 29.7 BIBLIOGRAPHICAL NOTES 948 PART E: ADVANCED TOPICS 949 Chapter 30: Concurrency, distribution, client-server and the Internet 951 30.1 A SNEAK PREVIEW 951 30.2 THE RISE OF CONCURRENCY 953 30.3 FROM PROCESSES TO OBJECTS 956 30.4 INTRODUCING CONCURRENT EXECUTION 964 30.5 SYNCHRONIZATION ISSUES 977 30.6 ACCESSING SEPARATE OBJECTS 982 30.7 WAIT CONDITIONS 990 30.8 REQUESTING SPECIAL SERVICE 998 30.9 EXAMPLES 1003 30.10 TOWARDS A PROOF RULE 1022 30.11 A SUMMARY OF THE MECHANISM 1025 30.12 DISCUSSION 1028 30.13 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 1032 30.14 BIBLIOGRAPHICAL NOTES 1033 EXERCISES 1035CONTENTS xxvi Chapter 31: Object persistence and databases 1037 31.1 PERSISTENCE FROM THE LANGUAGE 1037 31.2 BEYOND PERSISTENCE CLOSURE 1039 31.3 SCHEMA EVOLUTION 1041 31.4 FROM PERSISTENCE TO DATABASES 1047 31.5 OBJECT-RELATIONAL INTEROPERABILITY 1048 31.6 OBJECT-ORIENTED DATABASE FUNDAMENTALS 1050 31.7 O-O DATABASE SYSTEMS: EXAMPLES 1055 31.8 DISCUSSION: BEYOND O-O DATABASES 1058 31.9 KEY CONCEPTS STUDIED IN THIS CHAPTER 1060 31.10 BIBLIOGRAPHICAL NOTES 1061 EXERCISES 1062 Chapter 32: Some O-O techniques for graphical interactive applications 1063 32.1 NEEDED TOOLS 1064 32.2 PORTABILITY AND PLATFORM ADAPTATION 1066 32.3 GRAPHICAL ABSTRACTIONS 1068 32.4 INTERACTION MECHANISMS 1071 32.5 HANDLING THE EVENTS 1072 32.6 A MATHEMATICAL MODEL 1076 32.7 BIBLIOGRAPHICAL NOTES 1076 PART F: APPLYING THE METHOD IN VARIOUS LANGUAGES AND ENVIRONMENTS 1077 Chapter 33: O-O programming and Ada 1079 33.1 A BIT OF CONTEXT 1079 33.2 PACKAGES 1081 33.3 A STACK IMPLEMENTATION 1081 33.4 HIDING THE REPRESENTATION: THE PRIVATE STORY 1085 33.5 EXCEPTIONS 1088 33.6 TASKS 1091 33.7 FROM ADA TO ADA 95 1092 33.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 1097 33.9 BIBLIOGRAPHICAL NOTES 1097 EXERCISES 1098CONTENTS xxvii Chapter 34: Emulating object technology in non-O-O environments 1099 34.1 LEVELS OF LANGUAGE SUPPORT 1099 34.2 OBJECT-ORIENTED PROGRAMMING IN PASCAL? 1100 34.3 FORTRAN 1102 34.4 OBJECT-ORIENTED PROGRAMMING AND C 1106 34.5 BIBLIOGRAPHICAL NOTES 1112 EXERCISES 1112 Chapter 35: Simula to Java and beyond: major O-O languages and environments 1113 35.1 SIMULA 1113 35.2 SMALLTALK 1126 35.3 LISP EXTENSIONS 1130 35.4 C EXTENSIONS 1131 35.5 JAVA 1136 35.6 OTHER O-O LANGUAGES 1137 35.7 BIBLIOGRAPHICAL NOTES 1138 EXERCISES 1139 PART G: DOING IT RIGHT 1141 Chapter 36: An object-oriented environment 1143 36.1 COMPONENTS 1143 36.2 THE LANGUAGE 1144 36.3 THE COMPILATION TECHNOLOGY 1144 36.4 TOOLS 1148 36.5 LIBRARIES 1150 36.6 INTERFACE MECHANISMS 1152 36.7 BIBLIOGRAPHICAL NOTES 1160 Epilogue, In Full Frankness Exposing the Language 1161
-
c++学习必做的题目合集
高手推荐的c++必做题目,共76道题,做完了你的c++就基本毕业了!
-
C++实现插件系统
文中的Qt类(Q开头的类)都可以通过STL库代替 简述 首先由开发人员编写系统框架,并预先定义好系统的扩展借口。插件由其他开发人员根据系统预定的接口编写的扩展功能,实际上就是系统的扩展功能模块。插件都是以一个独立文件的形式出现。 对于系统来说并不知道插件的具体功能,仅仅是为插件留下预定的接口,系统启动的时候根据插件的配置寻找插件,根据预定的接口把插件挂接到系统中。 插件系统所用到...
-
初学c++总结(命名空间、缺省参数、函数重载)
文章目录前言一、命名空间1. 命名空间定义1) 嵌套2) 分段定义2. 命名空间中成员的访问形式1) 命名空间 :: 成员 (推荐使用)2) using 命名空间 :: 成员 (推荐使用)3) using namespace 命名空间二、缺省参数 缺省参数分类1. 全缺省参数2. 半缺省参数三、函数重载 前言 刚开始学习c++,就要把细小的知识点,掌握扎实,多练习,多总结。 一、命名空间 功能: 对标识符的名称进行本地化,以避免命名冲突或名字 污染 1. 命名空间定义 namespace..
-
C++初学者应该看什么书
首先说我也是个C++初学者,所以这只是我学习C++这一段时见来的个人见解。 我推荐初学者应该买两本书,《C++ primer plus》和《C++ primer》,对于这两本书的大家一般都认为,前者是c++初学者最应该买的,讲解细致,面向c++零基础者,而对于后者。很多人都说应该是c++学过一遍想继续提高时买的一本书,因为初学者看这本书是非常难搞懂的。我非常同意这种普遍看法,但是我想说自...
-
自学c十十语言,初学者如何学习c语言,带你玩转C语言
现在技术发展很快,尤其是计算机行业,计算机的基础是c语言,可以说做什么都需要编程,编程最为基础的就是C语言了,C语言他是一个很有发展前景的计算机编程语言,近十年来,它在编程语言排行榜(TIOBE)稳居前三,C语言绝对是值得初学者学习的一门语言,那今天就带你玩转C语言(1)首先学习C语言你就要有一个好的心态,要有坚持的心态,不能学一段时间,觉得难就不学了,这是最忌讳的,学习C语言坚持是最重要的。(2...
-
C++基础入门
C++是一门很强大很难学的计算机编程语言。/*1、返回值类型1.1 void 空类型:无返回值1.2 int 整形:返回整数1.3 double/float 浮点型:返回小数1.4 char 字符型:返回字符2、函数名知名见意,驼峰原则3、参数列表4、函数体5、return 表达式返回值类型 函数名(参数列表)函数体return 表达式*/return a;return b;int a = 1;int b = 2;return 0;int a = 10。
-
C++入门——命名空间、缺省参数、函数重载、引用、内敛函数、auto关键字
今天我们就要来学习C++的知识了,通过C语言来过度到C++,首先我们先来了解一下C++中的入门语法,比如命名空间,缺省参数,函数的重载等知识。一、什么是C++C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(objectoriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。
-
C++强大背后
在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming, GP)...
6 楼 zhangjunbao 2012-02-21 14:45
5 楼 xingchenzhan 2012-02-21 11:05
同感
是啊,在中国这种网速~~
4 楼 lyxmq 2012-02-21 10:16
同感
3 楼 daxiong921 2012-02-21 09:45
ucdchina
2 楼 foodyi 2012-02-20 23:29
1 楼 raiha 2012-02-20 23:06