关于类(class)[1]
2025-08-21 13:09:08
发布于:广东
前言
最近在恶补类相关(GESP6级要考)
有一些心得所以写个笔记贴(因为有很多要写的所以可能会分开两次记)
注:有一部分来源于网络,欢迎补充!
目录
一、类的介绍
1、类与对象
①、面向对象与面向过程
2、类的属性与行为
②、基类与派生类
二、类的定义
三、类的实现
一、类的介绍
1、类与对象
在c++中,用类描述对象
类是面向对象的,那什么是面向对象?什么是面向过程呢?
1、面向对象:以对象为中心,强调把问题分解成对象,通过封装、继承和多态①等机制,来处理对象之间的关系。
2、面向过程:以函数为中心,将问题分解一系列步骤,然后按照顺序执行这些步骤,以达到求解问题的目的。
①封装、继承和多态
封装:将数据和方法捆绑 继承:子类继承父类属性和方法 多态:同一操作作用于不同对象产生不同行为
2、类的属性与行为
通常类的定义包含两部分东西:
1、该类的属性①
2、它所拥有的方法②
①比如说人,每个人都有自己的身高、体重、姓名等等,这些都是人类的属性。
②此外,人可以行走、睡觉、讨论、刷某音或者一些兴趣特长等,这些都是人类具备的行为。
此外要延伸一(两)点———什么是基类?什么是派生类?
一、基类
基类是指对象最基础的属性和行为,比如说人会睡觉吃饭,这是人最基础的属性和行为。
二、派生类
派生类也可以叫做子类,可以看作基类的扩展,它具有基类的所有属性和行为,并且具有一些基类没有的属性和行为,就像小码王学生,他们具有基类(人)中所没有的属性,比如自己的小码王校区、班级,也可以具有基类没有的行为,比如每周要去上课等,在这基础上还能扩展出更高级的类。
二、类的定义
使用class函数定义类,基本格式如下:
class 类名(遵循一般的命名规则){
//class里面可定义变量或函数
public:
//公共的行为及属性
private:
//私有的行为及属性
protected:
//受保护的行为及属性
}和结构体一样可以在这里定义变量、数组;(记得分号
说明:
public、private和protected为属性/方法限制的关键字,public表示该部分是公共的,能被外部访问或调用;private表示该部分是私有的,不能被外部访问或调用,只能被该类内部访问;protected表示该部分是受保护的,类内部及子类可访问。
示范样例
我们创建一个表示学生的类
class Student{
public:
//公共的行为及属性
void set_id(long long id);
private:
//私有的行为及属性
long m_id;
int m_age;
};
说明
代码中定义了一个叫做Student的类,具有两个私密属性,分别是m_id和m_age
三、类的实现
类的实现就是完成该类方法的过程。类的实现主要有两种:成员函数在类内部定义,成员函数在类外部定义。
1、成员函数在类内部定义
成员函数的实现可以在类定义时同时实现:
class Student{
public:
//公共的行为及属性
void set_id(long long id){//实现set_id函数
m_id=id;
}
private:
//私有的行为及属性
long m_id;
int m_age;
};
在类中实现成员函数不再是在类中进行声明,而是直接将函数定义。
注:在类中定义成员函数时,编译器默认会将其定义为inline(内联)型函数
二、成员函数在类外部定义
成员函数在类中进行声明,在类外用作用域操作符::进行实现,形式如下:
返回类型 类名::成员函数名(参数){
//函数体
}
代码示例:
class Student {
public:
//公共的行为及属性
void set_id(long long id);//声明
private:
//私有的行为及属性
long m_id;
int m_age;
};
//返回类型 类名::成员函数名(参数){
//函数体
//}
void Student::set_id(long long id) {
m_id = id;
}
今天就写到这里吧毕竟是纯手打
下次写类的实现和一些杂七杂八的东西
这里空空如也
有帮助,赞一个