markdown介绍
markdown是什么
Markdown是一种轻量级标记语言, 它允许人们使用易读易写的纯文本格式编写文档.
软件支持
- CLion(Idea, Pycharm)自带插件支持
- Typora编辑器
使用场景与作业
- 知识点总结
- 博客系统都支持
C++面向对象编程
编程语言分类
- 面向过程 C语言 特点:函数(方法,过程)是组成程序的基本单位,比如main启动,调用其他函数
- 面向对象 C++,Python,Java,C# 类(对象)是组成程序的基本单位
类与对象理论
通过属性与行为向别人描述陌生事务
- 属性 状态
- 行为 动作,功能
分类
通过属性与行为给各种不同事务分类
- 学霸与学渣 考试分数属性
- 老师 上课行为
- 司机 开车
类
类是具有相同属性与行为的一组对象的集合
对象
把符合某类标准的一个具体事务称为对象,有称为类的实例
关系
类是抽象的,对象是具体的
类中只是说明对象应该具有什么样的属性与行为,但是没有具体的数值,对象是具有明确定义的类的实例
与现实区别
现实中现有对象,根据对象的特点抽取出类.程序中,先定义类,根据类模板去创建对象
类与对象实现(C++)
抽象:现实中一个类有无数个属性与行为,根据项目业务需求,只关注其中一部分属性与行为,这个过程,称为抽象
类由class关键字定义
//class 类名
class 类名 { //Java规范,类名首字母大写
public://访问修饰符 公有
//属性由变量实现
数据类型 属性名;
public://访问修饰符 公有
//行为由方法(函数,过程)实现
int add(int a, int b) {
int r = a + b;
return a + b;
}
};
案例:
#include <iostream>
using namespace std;
class Student {
public:
char id[13]; // \0
char name[21]; //姓名
int age;
public:
void sayHell() {
cout << "hello" << endl;
//在自己的方法中可以访问自己的属性
cout << "我的学号是:" << id << ",姓名" << name << ", 年龄" << age << endl;
}
//C语言
int maxGys(int num1, int num2) {
int num = (num1 < num2) ? num1 : num2;
for(; num >= 1; num--) {
if(num1 % num == 0 && num2 % num == 0) {
break;
}
}
return num;
}
int minGbs(int num1, int num2) {
//自己可以调用自己的方法
int gys = maxGys(num1, num2);
return num1 * num2 / gys;
}
};
对象案例
类名 对象名;创建对象
对象名.属性名 访问属性
对象名.方法名 调用方法
int main(){
cout << "TestStudent" << endl;
//类名 对象名;创建对象
Student zjj;
//对象名.属性名 访问属性
zjj.age = 18;
/*字符串赋值需要使用strcpy函数*/
strcpy(zjj.id, "202100000001");
strcpy(zjj.name, "赵家俊");
//对象名.方法名 调用方法
zjj.sayHell();
int max = zjj.maxGys(12, 18);
int min = zjj.minGbs(12, 18);
cout << max << "," << min << endl;
return 0;
}