![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++编程基础
張謀謀♥
Roninzhz
展开
-
C++概述HelloWorld
#include <iostream> //包含头文件 iostream using namespace std; //使用命名空间 std int main() //每一个c++程序都必须有一个main函数 //标准c++规定main函数必须声明为int型 //即此主函数要带回一个整型的函数值 { cout <<"Hello World"; return 0;//向操作系统返回一个零值 //如果程序不能正常运行, //则会自动向操作系统返.原创 2021-09-25 17:27:30 · 135 阅读 · 0 评论 -
C++ 设计模式之单例模式
【代码】C++ 设计模式之单例模式。原创 2023-06-11 19:57:01 · 205 阅读 · 0 评论 -
C++基础之机房预约7
C++基础之机房预约7原创 2022-12-24 22:25:43 · 346 阅读 · 1 评论 -
C++基础之基于STL泛化演讲比赛6
C++基础之基于STL泛化演讲比赛原创 2022-12-24 22:00:44 · 194 阅读 · 0 评论 -
C++基础之提高5
C++基础之提高5原创 2022-12-24 21:42:07 · 437 阅读 · 0 评论 -
C++基础之多态的企业职工4
C++基础之多态的企业职工原创 2022-12-24 21:16:42 · 88 阅读 · 0 评论 -
C++基础之核心3
C++基础之核心原创 2022-12-24 20:19:40 · 223 阅读 · 0 评论 -
C++基础之类通讯录2
C++类通讯录小程序原创 2022-12-24 20:09:37 · 98 阅读 · 0 评论 -
c++基础1
c++基础原创 2022-11-30 17:10:48 · 257 阅读 · 0 评论 -
静态属性和静态方法
/* 我们真正需要的是一个只在创建或删除对象时候才允许访问的计数器。 这个问题必须使用 C++ 的静态属性和静态函数才能完美地得到解决。 C++ 允许我们把一个或多个成员声明为属于某个类,而不是仅属于该类的对象。(就是说这个成员仅能让该类使用)这么做的好处是程序员可以在没有创建任何对象的情况下调用有关的方法。 另外一个好处是能够让有关的数据仍在该类的所有对象间共享。 创建一个静态属性和静态方法: 只需要在它的声明前加上 static 保留字即可 static 是 C/C++ 中很常原创 2021-11-29 21:35:21 · 393 阅读 · 0 评论 -
C++ 友元关系
/* 友元关系 友元关系是类之间的一种特殊关系, 这种关系不仅允许友元类访问对方的 public 方法和属性, 还允许友元访问对方的 protected 和 private 方法和属性。 声明一个友元关系的语法很简单,只要在类声明里的某个地方 加上一条 friend class ** 就行了。 注:这条语句可以放在任何地方, 放在 public, protected, private 段落里都可以。 题目:”朋友”之妻不可亲 Lovers 类有两个子类:分别为 Boyfrie原创 2021-11-29 21:08:52 · 413 阅读 · 0 评论 -
C++ 覆盖方法和重载方法
/* 关于从基类继承来的方法和属性的保护: class Pig:public Animal{....} C++不仅允许你对在类里定义的方法和属性实施访问控制, 还允许你控制子类可以访问基类里的那些方法和属性 public: 是在告诉编译器: 继承的方法和属性的访问级别不发生任何改变 public 仍可以被所有代码访问 protected 只能由基类的子类访问 private 只能由基类本身访问 protected: 把基类的访问级别改为protected 如果原来是pu原创 2021-11-29 20:52:41 · 323 阅读 · 0 评论 -
C++ 访问控制
作为一个基本原则,在设计、定义和使用一个类的时候, 应该让它的每一个组成部分简单到不能再简单 析构器的基本用途是对前面所做的事情进行清理。 尤其是在使用了动态内存的程序里面 析构器至关重要 访问控制 所谓访问控制,就是C++提供了一种用来保护 类里的方法和属性的手段。 保护:对谁都可以调用某个方法和访问某个属性 加上一个限制。如果某个对象试图调用一个它 无权访问的函数,编译器将报错。 访问级别 public 任何代码 protected 这个类和它的子类原创 2021-11-29 16:52:58 · 565 阅读 · 0 评论 -
C++ 继承机制中的构造器和析构器
/* 在销毁某个对象时,基类的析构器也将被自动调用, 但这些事情编译器会自动替你处理 因为析构器不需要输入参数, 所以根本用不着使用:SuperClassMethod(arguments) 语法 构造器第一执行 与构造器情况相反,基类的析构器 将在子类的最后一条语句执行完毕之后才会被调用 *///example 1 //#include <iostream>//#include <string>//////基类 //class Ani原创 2021-11-10 15:21:34 · 1015 阅读 · 1 评论 -
C++ this指针和类的继承
/* this 特殊指针 排除二义性隐患 继承: 使的程序员可以创建一个类的堆叠层次的结构, 每一个子类均将继承在它基类里定义的方法和属性 基类: 可以派生出其他的类,也称其为父类或超类 子类: 子类是从基类派生出来的类 类的属性:名词 类的方法:动词 语法: class SubClass:public SuperClass{} SubClass 子类 SuperClass·基类 */ #inclu.原创 2021-10-22 16:19:29 · 209 阅读 · 0 评论 -
C++ 构造器与析构器
/* 构造器: 构造器的名字必须和它所在类的名字一样 系统在创建某个类的实例时会第一时间自动调用 这个类的构造器 构造器永远不会返回任何值 创建构造器,需要先把它的声明添加到类里: class Car{ Car(void); } 注意大小写与类名保持一致。在结束声明之后, 开始定义构造器本身 Car::Car(void) //不用写 void Car::Car(void) { color="White"; engine="V8"; wheel=原创 2021-10-22 16:17:41 · 264 阅读 · 0 评论 -
C++ 对象
/* 面向过程技术 关注的是对数据进行处理的过程 面向对象技术 关注的是对数据进行怎样的处理 C++允许在类里声明常量,但不允许对它进行赋值 创建静态常量可以进行赋值 对象的内部可以有变量和函数 而结构通常只能由各种变量构成 对象的模型----类 Class class MyFirstClass { }; 注:类名的第一个字母一般采用大写是一种习惯 上的标准,但不是硬性规定 类声明末尾,必须有一个分号; 这一点跟 C++结构情况相同原创 2021-10-16 16:27:00 · 222 阅读 · 0 评论 -
C++ 联合枚举类型别名
/* 1.联合 联合和结构有很多相似之处 联合也可以容纳多种不同类型的值 但是他每一次只能存储这些值中的某一个 定义 union mima { unsigend birthday; unsigend short ssn; char* pet; }; 新建联合体变量 mima mima_1; 第一次赋值可以 mima_1.birthday = 19881301; 如果再次赋值 mima_1.pet="chao"; 注::: 这个原创 2021-10-09 09:02:23 · 160 阅读 · 0 评论 -
C++ 传址 传值 传引用
/* C++ 在默认情况下 参数只能以 值 传递的方式给函数 被传递到函数的只是 变量的 值, 永远不会是 变量的本身 取址:获取某个变量的地址 只需要在它的前面加上一个“取地址” & 就可以 注: 如果传过去的是地址,在函数中 必须要通过 “* ”进行解引用 除非你有其他用途 引用传递: 传输地址 不用指针 *///取值 //#include <iostream>//using namespace s原创 2021-10-08 08:58:59 · 123 阅读 · 0 评论 -
C++ 对象基础——结构
//对象基础___结构/* 结构 structure 是由程序员定义的,由其他变量类型组合而成的数据类型 基本语法 struct name { type varName1; type varName2; }; //注意分号 结构:处理具有多种属性的数据 注:C++对于一个结构所能包含的变量的个数是没有限制的 那些变量通常为给结构成员 可以是任意一种合法的数据类型 */ //鱼油档案 :姓名 身份证 性别#include <io原创 2021-10-07 10:43:28 · 101 阅读 · 0 评论 -
C++ 指针数组
/* 计算机把数组是以一组连续的内存块保存的 数组名指向数组的基地址就是第一个元素的地址 *///*ptr+1 数组元素的值加1//*(ptr+1) 数组元素的地址加1 #include <iostream>using namespace std;int main(){ int Array[5]={2,6,3,4,5}; int *ptr=Array; cout<<*ptr+1<<endl; cout<<*(pt原创 2021-10-07 10:17:34 · 117 阅读 · 0 评论 -
C++ 指针
//指针//程序是在硬盘上以文件的形式存在的//但它们的运行却是在计算机的内存中发生的//在C++里,变量类型是根据//他们的自然边界进行对齐的 //对齐问题会因为系统平台的不同而不同//64位系统对应8字节//32位系统对应4字节//变量的索引// 1 通过变量名 // 2 通过地址//取地址操作符 & :获取变量的地址 //1 对齐在计算机底层世界处处皆是//内存对齐,文件对齐//(程序在编译链接后会被分割成一个一个的区块0//而区块在文件和内存原创 2021-10-06 13:21:44 · 64 阅读 · 0 评论 -
C++数组
//数组//优点:一个数组可以把许多个同类型的值 // 存储在同一个变量下// type name[x]//不可以把不同数据类型的数据混杂保存在同一个数组中//C语言中,字符串被实际存储在一个字符数组中//C++中也可以用同样的方法实现//也提供了std::string类型 //#include <string>//cin 与空格结束输入//getline(cin,str); 来获取一行输入 // 定义一个数组容纳ITEM个整数//这些整数来自用户输入//将原创 2021-10-06 09:39:17 · 99 阅读 · 0 评论 -
C++输入输出小练习
//C++输入输出//向用户提出一个“y/N”问题//然后把用户输入的值赋给 answer 变量//针对用户输入'Y''y'和'N''n'进行过滤#include <iostream>using namespace std;int main(){ char answer; cout<<"请问可以格式化您的硬盘吗?【Y/N】"<<"\n"; cin>>answer; switch(answer) { case 'Y':原创 2021-10-03 17:32:43 · 446 阅读 · 0 评论 -
C++函数重载 overloading
//函数重载 overloading 封装 //实质:用同样的名字//再定义一个有着不同参数//但有着同样用途的函数 //目的:方便对不同数据类型进行同样的处理 //不同:可以是参数个数上面的不同// 也可以是参数数据类型的不同//编写一个“温度单位转换程序”//提示用户 以 [xx.x C] 或 [xx.x F]的格式输入//要求:输入:34.2 C自动转换为90.32 F并输出 #include <iostream>using namespace std;原创 2021-10-03 17:30:40 · 153 阅读 · 0 评论 -
C++文件写入和读出
//写入文件#include <fstream>#include <iostream>using namespace std;int main(){ ofstream out; out.open("test.txt"); //ofstream out("test.txt"); if(!out) { cerr<<"文件打开失败!"<<endl; return 0; } for(int i=0;i<10;i++)原创 2021-10-03 15:42:46 · 474 阅读 · 0 评论 -
C/C++文件操作
//C语言//编写一个文件复制程序//功能将一个文件复制到另一个文件//argc argv[]//整型变量:argc 程序的参数数量,包含本身 //字符指针数组:argv[] 每个指针指向命令行的一个字符串 //in out 两个文件指针 类型:FILE *//分别作为两个I/O流对象使用#include <stdio.h>#include <stdlib.h>int main(int argc,char* argv[]){ FILE *in,原创 2021-10-03 15:33:12 · 66 阅读 · 0 评论 -
C/C++输入一串整数和任意数目的空格这些整数必须位于同一行中但允许出现在该行中的任何位置当用户敲下“Enter“键时输入结束自动对所有的整数求和
//C语言//输入一串整数和任意数目的空格//这些整数必须位于同一行中//但允许出现在该行中的任何位置//当用户敲下"Enter"键时输入结束//自动对所有的整数求和 #include <stdio.h>#include <stdlib.h>int main(){ int i; int sum=0; char ch; printf("请输入一串整数和任意数目的空格:"); while(scanf("%d",&i)==1) { su原创 2021-10-03 10:43:34 · 375 阅读 · 0 评论 -
C/C++从键盘上输入一元二次方程(ax2+bx+c=0)的系数:a,b,c; 计算并输出方程的根
//C //从键盘上输入一元二次方程(ax2+bx+c=0)的系数:a,b,c;//计算并输出方程的根//如果没有实根则输出“No real roots.”// 输入:6,3,1 输出:No real roots. // 输入:1.0,-2,1 输出:x1=1,x2=1#include <stdio.h>#include <math.h>float main(){ float a,b,c,x1,x2,flag=0; scanf("%f,%f,%f",&am原创 2021-09-28 19:12:04 · 12012 阅读 · 0 评论 -
C++求两数之和
//求两数之和 #include <iostream> //预处理命令 using namespace std; //使用命名空间std int main() //主函数首部 { int a,b,sum; //函数体开始 cin>>a>>b; //输入语句 sum=a+b; //赋值语句 cout<<"a+b="<<sum<<endl; //输出语句 return 0; //如正常结束返回0, .原创 2021-09-25 17:29:09 · 3768 阅读 · 1 评论 -
C++给两个数x和y,求两个数的最大者
//给两个数x和y,求两个数的最大者 #include <iostream> //预处理命令 using namespace std; int max(int x,int y) //定义max函数 { //函数值为整型,形式参数x,y为整型 int z; if(x>y) z=x; else z=y; return(z); } int main() //主函数 { int a,b,m; //变量声明 ci..原创 2021-09-26 18:20:19 · 1304 阅读 · 0 评论 -
C++包含类的C++程序
//包含类的C++程序#include <iostream> //预处理命令using namespace std;class Student //声明一个类,类名为Student{ private: //以下是类的私有部分 实现信息隐蔽 int num; //私有变量num int score; //私有变量score public: //以下是类的公用部分 void setdata() //定义公用函数 setdata { cin>&g.原创 2021-09-26 18:21:54 · 424 阅读 · 0 评论 -
C++ 对一个整型数组求和 C/C++
//C语言//对一个整型数组求和 //数组传递和指针传递两种方式 //默认数组传递#include <stdio.h>int addArray(int array[],int n);//int addArray(int *array,int n); int main(){ int data[]={0,1,2,3,4,5,6,7,8,9}; int size=sizeof(data)/sizeof(data[0]); //获取data数组的长度 printf.原创 2021-09-27 16:19:45 · 2041 阅读 · 0 评论 -
C++(自用)第一章练习题程序
//#include <iostream>//using namespace std;//int main()//{// cout <<"This"<<"is";// cout <<"a"<<"C++";// cout <<"program."<<endl;// return 0;//} //#include <iostream>//using namespace std;//int.原创 2021-09-27 20:03:43 · 89 阅读 · 0 评论