c/c++整理--c++面向对象(1)

一、描述面向对象技术的基本概念

面向对象是指按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的方法,包括类、对象、消息以及类的特性等方面的内容。
类(class):具有相似的内部状态和运动规律的实体集合。类来自于人们认识自然、认识社会的过程。在这一过程中,人们主要使用两种方法:有特殊到一般的归纳法和一般到特殊的演绎法。在归纳过程中,从一个一个具体的事物中把共同的特征抽取出来,形成一个一般的概念。在演绎的过程中又把同类的事物,根据不同的特征分成不同的小类。
对象(object):指现实世界中各种各样的实体,也就是类(class)的实例。它既可以指具体的事物,也可以指抽象的事物。每个对象都有自己的内部状态和运动规律。在面向对象概念中,把对象的内部状态成为属性,运动规律称为方法或事件。
消息(message):指对象之间相互联系和相互作用的方式。一个消息主要由5个部分组成:发送消息的对象、接收消息的对象、消息传递办法、消息内容(参数)、反馈。
类的特性:抽象、继承、封装、重载和多态。


二、判断题——类的基本概念

Which is incorrect about the class?(对于类,下面哪一个问题是不正确的?)
A、A class is a blueprint to object.
B、We use the keyword class to create a class construct.
C、Once a class is declared, the class name become a type name and can be used to declare variables.
D、The class is sname as the struct,and there are no defference between class and struct.
答案:D
解析:
A、一个类是对象的设计蓝图,正确。因为对象时类的实例,只有类设计好了,对象才可以被创建。
B、使用class关键字创建一个类的结构,正确。
C、一个类一旦被声明了,这个类名就成为一个类型名并可以使用它来声明变量,正确。
D、class与struct类似,它们之间没有任何区别,错误。


三、选择题——c++与C语言相比的改进

c++是从早期的C语言发展而来,与C语言相比,它在求解问题的方法上进行的最大的改进是什么?
A、面向过程
B、面向对象
C、安全性
D、复用性

答案:B
c++是从C语言发展而来,C语言是过程式编程语言,它以过程为中心、以算法为驱动。而c++能够使用面向对象的编程方式,即使用以对象为中心、以消息为驱动的编程方式。这是c++在C语言上的最大改进。


四、class和struct有什么区别?  

这里有两种情况下的区别:
(1)C语言的struct与c++的class区别。
(2)c++中的struct与class的区别。
第一种:C语言的struct只是作为一种复杂数据类型的定义,不能用于面向对象编程。
第二种:c++中的struct和class的区别在于对于成员访问权限以及继承方式,class默认的是private的,而struct中则是public的。class还可以用于表示模板类型,struct不行。


五、改错——c++类对象的声明

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是DS小龙哥编写整理C++入门指南PDF文档,适合C++初学者,C语言转C++工程师当做入门工具书学习。PDF里有完整示例、知识讲解,平时开发都可以复制粘贴,非常便捷。 目前一共写了7章,后续会持续更新资源包,更新后重新下载即可。 这是目前书籍的目录: C++入门指南 1 一、 C++语言基本介绍与开发环境搭建 1 1.1 C++简介 1 1.2 面向对象编程 1 1.3 Windows系统下搭建C++学习环境 2 二、C++基础入门 16 2.1 C++类和对象 17 2.2 C++命名空间 18 2.3 std标准命名空间 20 2.4 C++新增的标准输入输出方法(cin和cout) 22 2.5 C++规定的变量定义位置 24 2.6 C++新增的布尔类型(bool) 24 2.7 C++ 新增的new和delete运算符 25 2.8 C++函数的默认参数(缺省参数) 26 2.9 C++函数重载详解 28 2.10 C++新增的引用语法 30 三、 C++面向对象:类和对象 34 3.1 类的定义和对象的创建 34 3.2 类的成员变量和成员函数 36 3.3 类成员的访问权限以及类的封装 38 3.4 C++类的构造函数与析构函数 39 3.5 对象数组 47 3.6 this指针 50 3.7 static静态成员变量 52 3.8 static静态成员函数 53 3.9 const成员变量和成员函数 55 3.10 const对象(常对象) 56 3.11 友元函数和友元类 58 3.11.3 友元类 61 3.12 C++字符串 62 四、C++面向对象:继承与派生 75 4.1 继承与派生概念介绍 75 4.2 继承的语法介绍 75 4.3 继承方式介绍(继承的权限) 76 4.4 继承时变量与函数名字遮蔽问题 79 4.5 基类和派生类的构造函数 82 4.6 基类和派生类的析构函数 83 4.7 多继承 85 4.8 虚继承和虚基类 88 五、C++多态与抽象类 91 5.1 多态概念介绍 91 5.2 虚函数 92 5.3 纯虚函数和抽象类 95 六、C++运算符重载 97 6.1 运算符重载语法介绍 97 6.2 可重载运算符与不可重载运算符 98 6.3 一元运算符重载 99 6.4 二元运算符重载 102 6.5 关系运算符重载 104 6.6 输入/输出运算符重载(>>、<<) 105 6.7 函数调用运算符 () 重载 106 6.8 重载[ ](下标运算符) 107 七、C++模板和泛型程序设计 108 7.1 函数模板 108 7.2 类模板 110

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值