
C++
一颗小树(叶子)
愿一切终不负韶华,现在的孤独终将把自己变得更好!
展开
-
类和对象 封装 点和圆的关系
#include<iostream>using namespace std;//点和圆关系案例//点类class Point{public: //设置X坐标 void setX(int x) { m_X = x; } //获取X坐标 int getX() { return m_X; } //设置Y坐标 void setY(int y) { m_Y = y; } //获取Y坐标 int getY() { return m_Y; }...原创 2020-10-11 14:49:29 · 547 阅读 · 0 评论 -
在C++中 struct和class权限访问的不同
#include<iostream>using namespace std;class C1{ int m_A; //默认权限是私有};struct C2{ int m_B; //默认权限是公共};int main(){ //struct 和 class的区别 //struct 默认权限是公共public //class 默认权限是私有private C1 c1; C2 c2; //c1.m_A=100; //在class里默认权限为私有,因此类外不可.原创 2020-10-06 19:10:44 · 255 阅读 · 0 评论 -
类和对象----封装
封装是C++面向对象三大特性之一封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制封装意义一:在设计类的时候,属性和行为写在一起,表现事物语法:class 类名{访问权限:属性/ 行为};eg:设计一个圆类,求圆的周长#include<iostream>using namespace std;const double PI = 3.14;//圆周长公式:2*PI*r//class代表设计一个类,类后面紧跟着的就是类名称c原创 2020-10-06 17:03:58 · 199 阅读 · 0 评论 -
解析函数和构造函数
解析函数和构造函数对象的初始化和清理也是两个非常重要的安全问题。一个对象或者变量没有初始状态,对其使用后果是未知的。同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。C++利用了构造函数和解析函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器强制要求我们做的事情,因此如果我们不提供构造和析构,编译器会提供。编译器提供的构造函数和析构函数是空实现。构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译..原创 2020-07-16 10:41:14 · 796 阅读 · 0 评论 -
C++函数提高
C++函数提高1.函数的默认参数在C++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型函数名 (参数 =默认值){}#include<iostream>using namespace std;/*函数的默认参数如果我们自己传入数据,就用自己的数据,如果没有,那么用默认值。语法:返回值类型 函数名 (形参 = 默认值){}注意事项:1.如果某个位置已经有了默认值,那么从这个位置往后,从左到右都必须有默认值 2.如果函数声明有默认..原创 2020-06-30 15:15:51 · 204 阅读 · 0 评论 -
C++中的引用
C++中的引用一.引用的基本语法作用:给变量取名语法:数据类型 &别名 =原名int main(){ int a = 10; int &b = a; cout << "a = " << a << endl; cout << "b = " << b << endl; cout << endl; b = 100; cout << "a = " <&.原创 2020-06-29 17:17:58 · 196 阅读 · 0 评论 -
程序的内存模型 内存四区
程序的内存模型(内存四区),C++程序在执行时,将内存大方向划分为4个区域:在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域(代码区和全局区)代码区:存放函数体的二进制代码,由操作系统进行管理存放CPU执行的机器指令。代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。代码区是只读的,使其只读的原因是防止程序意外地修改了它的指令全局区:存放全局变量和静态变量以及常量全局变量和静态变量存放在此全局区还包含了常量区,字符串常量和其.原创 2020-06-28 10:55:32 · 321 阅读 · 0 评论 -
结构体应用案例
结构体应用案例结构体应用案例:案例描述:设计学生和老师的结构体,其中老师的结构体中有老师的姓名个一个存放5名学生的数组作为成员,学生成员结构体中有姓名,考试分数。创建数组存放3位老师,通过函数最终给每个老师及所带的学生赋值,最终打印出老师数据以及所带的学生数据。源代码:#include<iostream>using namespace std;#include<string>#include<Ctime>void fuzhiSpace(stru原创 2020-06-22 17:00:58 · 631 阅读 · 0 评论 -
结构体中添加const关键字来防止误操作
1.未添加const关键字void printArry(struct MyStruct * stu){ stu->age = 23; cout << "打印函数输出" << endl; cout << "姓名:" << stu->name << " 年龄:" << stu->age << " id:" << stu->id << endl;}在未添加co原创 2020-06-19 16:51:10 · 1050 阅读 · 0 评论 -
结构体做函数参数
结构体做函数参数作用:将结构体作为参数向指针中传递传递方式有2种:(1)值传递:在值传递中,修改形参,实参不会改变/*打印输出函数*///1.值传递void printStudent(struct student stu){ stu.age = 40; //在值传递中,修改形参,实参不会改变 cout << "值传递子函数中:" << endl; cout << "姓名: " << stu.name <&l原创 2020-06-19 13:30:03 · 499 阅读 · 0 评论 -
结构体嵌套结构体
结构体嵌套结构体:#include<iostream>using namespace std;#include<string>/*1.定义一个结构体*/struct student{ string name; int age; int score;};/*1.结构体嵌套*/struct teacher{ string name; int id; int age; struct student stu;原创 2020-06-19 11:32:09 · 1860 阅读 · 0 评论 -
结构体指针
通过指针访问结构体中的成员,利用符号 -> 可以通过结构体指针访问结构体属性。#include<iostream>using namespace std;#include<string>/*1.结构体指针*/struct MyStruct{ string name; int age; int score;};int main(){ /*创建学生结构体变量*/ struct MyStruct s1 = { "小叶原创 2020-06-19 10:52:43 · 266 阅读 · 0 评论 -
结构体数组
结构体数组:将自定义的数组放到结构体中方便维护语法:struct 结构体名 数组名[元素个数] = {{},{},.....{} }#include<iostream>using namespace std;#include<string>/*1.定义一个结构体*/struct student{ string name; //姓名 int age; //年龄 int score; //分数};int main(){/*2.创建结构体数组*/ s原创 2020-06-19 10:25:55 · 443 阅读 · 0 评论 -
通过结构体创建变量的三种方法
通过结构体创建变量的三种方法:1.struct结构体名 变量名/*1. struct student s1给S1属性赋值,通过.访问结构体变量中的属性*/ struct student s1; s1.name ="小李"; s1.age = 18; s1.score = 100; cout << " 姓名: " << s1.name << " 年龄: " << s1.age << " 分数: " << s1.s原创 2020-06-19 09:57:42 · 2370 阅读 · 0 评论 -
封装一个函数,利用冒泡排序实现,实现对整形数组的升序排序
封装一个函数,利用冒泡排序实现,实现对整形数组的升序排序。#include<iostream>using namespace std;void print_arr(int* arr, int len);void mp(int* arr, int len);/*冒泡排序函数*/void mp(int * arr,int len){ for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - 1原创 2020-06-18 22:23:34 · 2050 阅读 · 1 评论 -
利用指针的偏移来遍历数组
利用指针的偏移来遍历数组#include<iostream>using namespace std;int main(){ int arr[] = { 8,5,8,6,2,5 }; int *p = arr; for (int i = 0; i < 6; i++) { cout << "遍历指针指针偏移后输出" << endl; cout << *p << endl; p++; } return 0;原创 2020-06-17 14:06:41 · 467 阅读 · 0 评论 -
const修饰指针的三种情况
const修饰指针的三种情况:1.const修饰指针----常量指针2.const修饰指针----指针常量3.const既修饰指针又修饰常量4.总结:看const右侧紧跟着的是指针还是指针常量 ,是指针就是常量指针,是常量就是指针常量。5.代码#include<iostream>using namespace std;int main(){ int a = 10; int b = 10; /* 1.const修饰指针 常量指针*/ .原创 2020-06-17 13:11:46 · 430 阅读 · 0 评论 -
指针的定义和使用
#include<iostream>using namespace std;int main(){ /*定义一个指针*/ int a = 10; /*指针定义的语法: 数据类型*指针变量名*/ int* p; p = &a; cout << "a的地址为:" << &a << endl; cout << "指针p为:" << p << endl; /*可以通过解引用的方式来找到指针.原创 2020-06-16 17:00:48 · 237 阅读 · 0 评论 -
C++实现元素逆置
#include <iostream>#include<ctime>using namespace std;int main(){ int arr[5] = { 1,2,3,4,5 }; cout << "元素逆置前" << endl; for (int i=0; i < 5; i++) { cout << arr[i] << endl; } int start = 0; int end = si..原创 2020-06-13 12:35:01 · 798 阅读 · 0 评论