前言
软件为visual studio2017,内容为C++学习笔记,以及相关的问题处理方法,目的是方便回顾和复习。
笔记来自于:黑马程序员C++教程。
一、面向对象的三大特性
- 三大特性:
封装、继承、多态
- C++认为
万事万物皆为对象
,对象上有其属性和行为。 - 例如1:
人可以作为对象,属性有姓名、年龄、身高、体重......,行为有走、跑、吃饭、唱歌。。。。
- 例如2:
车也可以作为对象,属性有轮胎、方向盘、车灯。。。行为有载人、放音乐、放空调。。。
具有相同性质的
对象,我们可以抽象称为
类,人属于人类,车属于车类。
二、封装
1.意义
- 封装是C++面向对象的三大特性之一
- 封装的意义:
-将属性和行为作为一个整体,表现生活中的事物。
-将属性和行为加以权限控制
2.封装意义一
在设计类的时候,属性和行为写在一起,表现事物
(1)类的基本语法
语法class 类型{ 访问权限: 属性 / 行为 }
(2)示例代码
- 注意:
属性使用变量来表示;行为使用函数来表示。
/设计一个圆类
const double PI = 3.14;
class Circle {
//1、访问权限
//2、公共权限
public:
//2、属性,用变量来表示
int r;//半径
//3、行为,使用函数来表示
double calculateZC() {
return 2 * PI*r;
};
};//
int main() {
//示例1:设计一个圆类,求圆的周长
//创建圆的对象
Circle c1;
c1.r = 2;
cout << "圆的周长为:" << c1.calculateZC() << endl;
system("pause");
return 0;
}
(3).案例-设计学生类
成员:类中的-属性-和-行为- 我们统一称为 成员
属性 : 成员属性 成员变量
方法 : 成员函数 成员方法
- 代码示例:
//设计一个学生类
class Student {
//设置访问权限
public:
//属性 使用变量表示属性
string m_name;
int m_number;
//行为
void show() {
cout << "学生姓名:" << m_name << " 学生学号:" << m_number << endl;
}
void setName(string name) {
m_name = name;
}
void setNumber(int num) {
m_number = num;
}
};
//类中的属性和行为 我们统一称为 成员
//属性 成员属性 成员变量
//方法 成员函数 成员方法
int main() {
//创建一个具体的学生
Student zy;//实例化一个类
zy.m_name = "小洋洋";
zy.m_number = 2018140615;
zy.show();
Student zk;//实例化一个类
zk.m_name = "小猫猫";
zk.m_number = 201814562;
zk.show();
Student zl;
zl.setName("俊杰");
zl.setNumber(2014125697);
zl.show();
system("pause");
return 0;
}
3.封装意义二
(1)访问权限
-
访问权限:
类在设计时,可以把
属性和
行为放在不同的权限下,加以控制。
-
访问权限有三种:
1.public 公共权限
2.protected保护权限
3.private 私有权限
(2)示例
**public** 公有权限 类外**可以访问 类内**可以访问
**protected** 保护权限 类外**不可以*访问 类内**可以访问
**private** 私有权限 类外**不可以*访问 类内**可以访问
protected
class person {
//