{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T09:29:34Z","timestamp":1775899774276,"version":"3.50.1"},"reference-count":8,"publisher":"Wiley","issue":"12","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6908,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1987,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The Object\u2010Oriented Program Support (OOPS) class library is a portable collection of classes similar to those of Smalltalk\u201080 that has been developed using the C++ programming language under the UNIX operating system. The OOPS library includes generally useful data types, such as String, Date and Time, and most of the Smalltalk\u201080 collection classes such as OrderedCtn (indexed arrays), LinkedList (singly linked lists), Set (hash tables), and Dictionary (associative arrays). Arbitrarily complex data structures comprised of OOPS and user\u2010defined objects can be stored on disk files or moved between UNIX processes by means of an object I\/O facility. The classes Process, Scheduler, Semaphore and SharedQueue provide multiprogramming with coroutines. This paper gives a brief introduction to object\u2010oriented programming and how it is supported by the C+ + programming language. An overview of the OOPS library is also presented, followed by a programming example. The implementation details of two of the class library's more interesting features, object I\/O and processes, are described. The paper concludes with a discussion of the differences between the OOPS library and Smalltalk\u201080 and some observations based on our programming experience with C++ and OOPS.<\/jats:p>","DOI":"10.1002\/spe.4380171204","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T04:35:21Z","timestamp":1163824521000},"page":"899-922","source":"Crossref","is-referenced-by-count":33,"title":["An object\u2010oriented class library for C++ programs"],"prefix":"10.1002","volume":"17","author":[{"given":"Keith E.","family":"Gorlen","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"Smalltalk\u201080 The Language and its Implementation","author":"Goldberg A.","year":"1983"},{"issue":"8","key":"e_1_2_1_3_2","first-page":"145","article-title":"A small taste of Smalltalk","volume":"11","author":"Kaehler T.","year":"1986","journal-title":"Byte"},{"issue":"8","key":"e_1_2_1_4_2","first-page":"36","article-title":"Object\u2010oriented software systems","volume":"6","author":"Robson D.","year":"1981","journal-title":"Byte"},{"issue":"8","key":"e_1_2_1_5_2","first-page":"230","article-title":"Building data structures in the Smalltalk\u201080 system","volume":"6","author":"Althoff J. C.","year":"1981","journal-title":"Byte"},{"key":"e_1_2_1_6_2","volume-title":"The C++ Programming Language","author":"Stroustrup B.","year":"1986"},{"key":"e_1_2_1_7_2","volume-title":"Object\u2010oriented Programming","author":"Cox B.","year":"1986"},{"key":"e_1_2_1_8_2","unstructured":"B.Stroustrup \u2018A set of C++ classes for co\u2010routine style programming\u2019 UNIX System VAT&T C++ Translator Release Notes AT&T 1985."},{"key":"e_1_2_1_9_2","volume-title":"BLISS\u2010II Programmer's Manual","author":"Wulf W.","year":"1972"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380171204","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380171204","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T15:01:43Z","timestamp":1697814103000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380171204"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1987,12]]},"references-count":8,"journal-issue":{"issue":"12","published-print":{"date-parts":[[1987,12]]}},"alternative-id":["10.1002\/spe.4380171204"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380171204","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1987,12]]}}}