{"title":"Why C++ is not just an object-oriented programming language","authors":"B. Stroustrup","doi":"10.1145/260094.260207","DOIUrl":null,"url":null,"abstract":"C++ directly supports a variety of programming styles. In this, C ++ deliberately differs from languages designed to support a single way of writing programs. This paper briefly presents key programming styles directly supported by C++ and argues that the support for multiple styles is one of its major strengths. The styles presented include: traditional C-style, concrete classes, abstract classes, traditional class hierarchies, abstract classes and class hierarchies, and generic programming. To provide a context for this overview, I discuss criteria for a reasonable and useful definition of ‘‘object-oriented programming.’’","PeriodicalId":286350,"journal":{"name":"Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"29","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/260094.260207","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 29
Abstract
C++ directly supports a variety of programming styles. In this, C ++ deliberately differs from languages designed to support a single way of writing programs. This paper briefly presents key programming styles directly supported by C++ and argues that the support for multiple styles is one of its major strengths. The styles presented include: traditional C-style, concrete classes, abstract classes, traditional class hierarchies, abstract classes and class hierarchies, and generic programming. To provide a context for this overview, I discuss criteria for a reasonable and useful definition of ‘‘object-oriented programming.’’