- 博客(12)
- 收藏
- 关注
原创 C++类模板使用总结
可以这样声明和使用类模板:先写出一个实际的类。将此类中准备改变的类型名(如int要改变为float或char)改用一个自己指定的虚拟类型名(例如T)。在类声明前面加入一行,格式为:template <typename 虚拟类型参数>如:template <type numtypeclass A{…}; //类体用类模板定义对象时用以下形式:类模板名<实际类型名> 对象名;或 类模板名<实际类型名> 对象名(实参表列);如:A cmp;
2021-11-23 21:34:34
200
原创 纯虚也有用:纯虚函数与抽象类
什么时候使用纯虚函数某些类,在现实角度和项目实现角度,都不需要实例化(不需要创建它的对象),这个类中定义的某些成员函数,只是为了提供一个形式上的接口,准备让子类来做具体的实现。此时,这个方法,就可以定义为“纯虚函数”, 包含纯虚函数的类,就称为抽象类。纯虚函数的使用方法用法:纯虚函数,使用virtual和 =0#include <iostream>#include <string>using namespace std;class Shape {public
2021-11-12 21:02:19
197
原创 C++遗失的子类析构函数
#include <iostream>#include <Windows.h>#include <string.h>using namespace std;class Father {public: Father(const char* addr ="中国"){ cout << "执行了Father的构造函数" << endl; int len = strlen(addr) + 1; this->addr = ne
2021-11-12 20:39:10
454
原创 C++多重继承的虚函数表
#include <iostream>using namespace std;class Father {public: virtual void func1() { cout << "Father::func1" << endl; } virtual void func2() { cout << "Father::func2" << endl; } virtual void func3() { cout << "Fat
2021-11-10 22:01:35
1055
原创 C++之使用继承的虚函数表
使用继承的虚函数表#include <iostream>using namespace std;class Father {public: virtual void func1() { cout << "Father::func1" << endl; } virtual void func2() { cout << "Father::func2" << endl; } virtual void func3() { cout <
2021-11-10 21:36:29
586
原创 C++多态之 虚函数和虚函数表
C++多态之 虚函数和虚函数表一、多态的本质?多态的本质:形式上,使用统一的父类指针做一般性处理,但是实际执行时,这个指针可能指向子类对象,形式上,原本调用父类的方法,但是实际上会调用子类的同名方法。【注意】程序执行时,父类指针指向父类对象,或子类对象时,在形式上是无法分辨的!只有通过多态机制,才能执行真正对应的方法。二、虚函数的使用1.引入库虚函数的定义:在函数的返回类型之前使用virtual只在成员函数的声明中添加virtual, 在成员函数的实现中不要加virtual...
2021-11-09 17:18:05
484
原创 函数返回值使用指针
可以返回函数内部:动态分配内存地址 局部变量地址 以及全局静态变量地址和外部变量地址#include<iostream>#include<stdlib.h>usingnamespacestd;int *add(int x,int y){ int sum = x+y; return ∑}//返回动态内存分配地址 int *add1(int x,int y) { int * sum=NULL; *sum=x+y; return
2020-11-30 22:02:51
257
原创 C++动态内存的分配 (如有错误欢迎指正)
1*C 库函数 void malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。2//int a1[1024003]={0};//100k3*4=1200k=1.2M//超过了栈区的最大内存范围 程序崩溃int a1;a1=(int )malloc((int)(102410001000));//在堆上分配了大概1G的内存a1[0]=0;程序正常运行/补充堆和栈的知识|||优快云堆和栈的理论知识2申请方式stack:由系统自动分配。 例如,声明在
2020-11-29 21:48:02
179
原创 指针1
指针的定义 :int *p1=2;& 的作用是取地址*是一个特殊的运算符,*的作用是通过地址找到地址所存的信息输出printf(“girl : 0x%p\n”,p1); 使用16进制打印 吧地址当成一个无符号数来处理
2020-10-14 20:16:35
94
原创 字符串变量的定义和初始化
c++要包含一个头文件#include第一种string player1;player1="PG";第二种string player2;player2=player1;第三种string player3("PG"); //在定义变量的同时,设置一个值,一般称为初始化。将player3设置为PG.第四种string player4("player3");第五种 (几乎不用)string player5(10,'A'); //等效于string player5("AAAAA
2020-08-29 16:59:41
1937
原创 浮点数据的输出控制。
默认情况下cout输出六位有效数字cout.precision() 可以改变输出的精度cout.flags(cout.fixed); 定点法,表示的是小数点后面的位数cout.unsetf(cout.fixed); 取消定点法;
2020-08-28 16:45:02
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅