C++ 类与对象

基于菜鸟教程,课件的学习内容的个人笔记

前言

C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型

面向对象程序设计

将客观事物看作具有属性和行为的对象 将数据(属性)及对数据的操作方法(行为)封装在一起,作为一个整体——对象

类是对象的抽象,对象是类的特例(具体实例)

类用于指定对象的形式,是一种用户自定义的数据类型,它是一种封装了数据和函数的组合 类中的数据称为成员变量,函数称为成员函数 类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象

类是对象的抽象 类是抽象的,不占用内存,对象是具体的, 占用实际的存储空间

定义类

定义一个类的例子

(1)class关键字+类名 (2)访问修饰符+成员(成员变量/成员函数)

模板:

1
2
3
4
5
class classname {
	Access specifiers:   //访问修饰符:private/public/protected
		Data members ; //变量(成员变量)
		Member functions(); //声明了方法,成员函数,并未实现
};// 要以分号结束

具体例子:

1
2
3
4
5
6
class student {
	public:
		int _id_ , _age_ ;
		string _name_ ;
		string _sex_ ;
};// 要以分号结束

public关键字,定义了类的成员的访问属性 public关键字允许类的子类,以及类外类内的访问

在类外定义成员函数的一般形式

C++ 成员函数与友元函数

1
2
3
4
5
返回值类型 类名::成员函数名(参数表) { 
 
 //函数体
} 
其中::是作用域运算符。

例子

1
2
3
void Student::get_value() {
    cin>> num >> name >> sex ;
}

访问类的成员(数据成员)

(1)类的对象的public成员可以直接使用成员访问运算符 . 来访问 需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问 (2)类的成员之间可以互相访问

类成员的访问权限

公有的(public) :对外接口,任何外部函 数都可以访问公有类型数据和函数

私有的(private):只允许本类中的成员函 数访问(友元除外)

受保护的(protected): 与private类似,其差别表现在还可以被派生类的成员函数访问

对象

对象是类的具体实例 定义一个类,并定义一个该类的(实例)对象

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class student {// 定义了一个student类
	public:
		string _name_ ;
		string _sex_ ;
		int _id_ , _age_ ;
};// 一定要以分号结束


//定义了一个student类的对象
student stu1 ;

需要注意的是,在定义类的时候,只是声明,并未给类的成员分配内存空间 在定义类的实例对象后,再给定义的对象分配空间

类只是模板,是虚的 对象是类的实例,是实际的

类与对象的相关概念

  1. 类成员函数
  2. 类访问修饰符
  3. 构造函数 & 析构函数
  4. 友元函数
  5. this指针
  6. 类的静态成员静态
  7. 虚函数
  8. 虚基类

类的功能

  1. 继承与派生
  2. 多态
experience
使用 Hugo 构建
主题 StackJimmy 设计