![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
入门C++
gaoxiaochan
努力成为很棒的人!
展开
-
C++--拷贝构造函数--赋值运算符
20.拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象。 复制对象把它作为参数传递给函数。 复制对象,并从函数返回这个对象。原创 2022-05-04 16:58:23 · 322 阅读 · 0 评论 -
C++--访问控制与接口
22.C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。类定义是以关键字 class 开头,后面跟类的名称。关键字 public(公开的)、private(私有的)、protected(保护的) 称为访问修饰符。成员和类的默认访问修饰符是 private。 -->这三种控制符声明的变量可以被哪些实体访问: (1)public成员:能被本类的成员函数(不管是哪一种控制符声明的成员函数,都可以)、友元函数、本类的对象、其派生类的..原创 2022-05-03 17:10:32 · 1345 阅读 · 0 评论 -
C++--构造函数-析构函数
20.构造函数是在我们定义一种类型的变量时会自动被调用的函数。而且我们可以定义多个同名的构造函数--函数重载(参数不一样或者没有参数)。#include <iostream>using namespace std;//构造函数:函数名和类名一样,而且没有返回函数struct Date { int d,m,y;//如果没有定义任何构造函数,那么编译器会自动生成一种构造函数 Date(){ d=1; m=1; y=2000; cout<<"defa原创 2022-04-29 18:09:28 · 1545 阅读 · 0 评论 -
C++--自引用-成员函数重载运算符
18.成员函数返回“自引用”( *this) #include <iostream>using namespace std;struct Date { int d,m,y ; void init(int dd,int mm,int yy) { d = dd; m = mm; y = yy ; } void print() { cout<< y <<"-" << m <<"-"<&l原创 2022-04-25 20:01:20 · 817 阅读 · 0 评论 -
c++--类的定义
17.类:是在C语言的struct类型上,增加了“成员函数”。C的strcut可将一个概念或实体的所有属性组合在一起,描述同一类对象的共同属性。C++进行了扩展,使得struct不但包含数据,还包含函数(方法)用于访问或修改类变量(对象)的属性。C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。-->类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为原创 2022-04-25 19:29:07 · 8199 阅读 · 0 评论 -
C++--模板函数
15.模板template函数:是对对每种类型求最小值时方便采用的一种函数。使用模板函数可以对任何能比较大小(<)的类型使用一个定义好的模板让编译器自动生成一个针对该数据类型的具体函数。#include <iostream>using namespace std;/* int minValue(int a,int b) {//定义一个整型变量的最小值函数return a<b?a: b if (a< b) return a; else return b;d原创 2022-04-21 18:26:37 · 3380 阅读 · 0 评论 -
C++--动态内存分配-new和delete
16.动态内存分配(堆存储区):关键字new 和delete 比C语言的malloc、alloc、realloc和free更好,可以对类对象调用初始化构造函数或销毁析构函数。#define _CRT_SECURE_NO_WARNINGS //windows系统中为了避免出现警告加上这个#include <iostream>#include <cstring>using namespace std;int main() { double d = 3.14; //变原创 2022-04-21 18:58:17 · 1187 阅读 · 0 评论 -
C++--函数重载和运算符重载
13.函数重载:C++中允许函数同名,只要它们的形参(个数或对应对象参数类型)不一样,调用函数时将根据实参和形参的匹配选择最佳函数,如果有多个难以区分的最佳函数,则变化一起报错!#include <iostream>using namespace std;double add(double a,double b){ //参数不一样可以区分同名函数 return a + b;}int add(int a,int b) { return a + b;}int main()原创 2022-04-18 19:04:54 · 901 阅读 · 0 评论 -
C++--函数的默认参数
12.默认形参:函数的形参可带有默认值。#include <iostream>using namespace std;double test(double a,double b = 6) { //这里的函数参数给了一个默认的值,这里必须放在最右边 return a - b;}int main() { cout<< test(14,5) << endl; cout << test(14) << endl; return原创 2022-04-18 18:24:59 · 145 阅读 · 0 评论 -
C++--内联函数--捕获异常
10.对于不包含循环的简单函数,建议用inline关键字声明为"inline内联函数",编译器将内联函数调用用其代码展开,称为“内联展开”,这样可以避免函数调用开销,提高程序执行效率。#include <iostream>#include <cmath>using namespace std;inline double distance(double a,double b){ //内联函数 return sqrt(a * a + b * b);}int main(原创 2022-04-18 18:16:31 · 218 阅读 · 0 评论 -
C++--引用
9.C++引入了“引用类型”,占据一个独立的内存块,即一个变量是另一个变量的别名。例子:#include <iostream>using namespace std;int main(){ double a = 3.1415927; double &b = a; //&不是c语言的取地址,这里指的b是引用变量,b是a的别名,b就是a b = 14; //a的内存块值为14 cout << "a contains:" << a原创 2022-04-15 19:15:34 · 834 阅读 · 0 评论 -
C++--变量及其作用域
5.C++中变量--即用即定义,并且可以用表达式初始化。#include <iostream>using namespace std;int main(){ double a = 22*2.23; //定义变量,可以用任何表达式进行初始化 double b = a+4.14; cout << "a contains:" << a << endl; cout << "b contains:" << b <&原创 2022-04-14 18:22:05 · 522 阅读 · 0 评论 -
C++--标准输入输出流
4.C++有一个新的输入输出流库(头文件iostream)将输入输出看成一个流,并用输出运算符 << 和输入运算符 >> 对数据(变量和常量进行输入输出)。其中 cout 和 cin 分别代表标准输出流对象(屏幕窗口)和标准输入流对象(键盘)。注意:标准库中的名字都属于标准名字空间std。#include <iostream>using std::cout; //使用单个名字int main(){ double a; cout <<原创 2022-04-14 17:22:06 · 1060 阅读 · 0 评论 -
C++--头文件--注释--名字空间
1.C++头文件不必是.h结尾。C语言头文件中的<math.h>和<stdio.h>在C++中命名为<cmath>和<cstdio>。#include<cstdio>int main(){ int a=2; printf("%d\n",a);}2.C++可以使用单行注释。#include<cstdio>int main(){ /* 多行注释 */ int a=2; //定义一个整型变量原创 2022-04-12 16:51:14 · 979 阅读 · 0 评论