JAVA 三角形类Triangle(GeometricObject继承) ```package triangletest;import java.util.*;public class TriangleTest{public static void main(String args[]){Scanner ss=new Scanner(System.in);System.out.println("please input there sides and c...
C语言 strcpy的实现 ```#include#includevoid mystr(char *arr2, char *arr1,int length){ int i; for (i = 0; i < length; i++) { if (*(arr1+i) != '\0') { *(arr2 + i) = *(arr1 + i); } }}int main(){ char...
C语言编程 三子棋 游戏 ```#include#include#include#define amu 3 void menu()//菜单界面{ printf("***********************************************"); printf("********** 欢 迎 来 到 三 子 棋 游 戏 *********"); printf("*********...
C语言 memcpy的实现 ```#include#includevoid mymemcpy(char *str1, char *str2, int k){ int i; for (i = 0; i < k; i++,str1++,str2++) { *str1 = *str2; }}int main(){ int k = 3; char str1[]=" "; cha...
C语言 strstr的实现 ```#include#include#includechar *mystrstr(const char *str1,const char *str2){ int i = 0,m=0; while (1) { for (i = 0; i < strlen(str1); i++) { char *sta = str1 + i; for (m = 0;...
C语言 strcat的实现 ```#include#include#includevoid mystrcat(char *arr1, char *arr2,int leng){ int i=1,m=0,length=0; while(i) { if (*(arr1 + m) != '\0') { length++; m++; continue; } i = 0; } fo...
C语言 strcmp的实现 ```#include#includeint mystrcmp(char* str1, char* str2){ for (;*str1!='\0' ;str1++,str2++) { if (*str1 != *str2) { if (*str1>*str2) { return 1; } else if (*str1*str2) {...
C++学习 STL组件之vector部分总结 自从上一次学习STL的组件(string)已经过去有些日子了,主要是还在进行其他方面的学习,现在有了空闲继续来总结C++STL方面,vectot也是很早之前就学过的部分,学习过程中也是让我深深感到了C++STL的实用,现在在做有关方面的题目时有的地方会忘记(所以总结顺便复习),总之要学习和总结的东西还有很多,就请路过的看客和我一起学习前进吧。-----(≧∇≦)ノ首先是关于vector的介绍经...
C++ 菱形虚拟继承 与 指针偏移问题 首先在谈到菱形虚拟继承之前先说明一下菱形继承:菱形继承是多继承的一种特殊情况(如下,画渣勿喷):图中 B C 两个类都继承了A类,而 B C 又都被 D类继承按照继承的定义,派生类当中都包含了基类,而这时虚拟继承这种情况就会产生问题<a>数据冗余首先是按照虚拟继承的这种方法,D类当中就包含了两份A类数据(分别来自B类和C类)<b>二义性其次是,当我们通过D类去访问A类...
C++ 关键字 explicit 的使用 首先是定义:explicit关键字只能修饰只有一个参数的构造函数,或者有多个参数,但是除第一个参数外其他的参数都有默认值的构造函数。它的作用是表明构造函数是显式方式显示的。(类构造函数默认为隐式)如果类构造函数参数大于或等于两个时, 是不会产生隐式转换的, 所以explicit关键字也就无效了举个例子:class AMD{public: AMD(int level){ //这里的...
C++ sort()排序函数用法 本文转自https://blog.csdn.net/l198738655/article/details/79872738sort(first_pointer,first_pointer+n,cmp)该函数可以给数组,或者链表list、向量排序。实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的...
C++ 字符流 stringstream (转自:https://blog.csdn.net/nwpu_yike/article/details/22100615)一、类型转换——数字->字符串C++ stringstream 类是一种十分有用的类,特别是当我们需要在程序中使用字符串和数字数据互相转换的时候。要想在程序中使用 stringstream 类,我们需要在源程序文件中包含头文件include<sstream>...
C/C++ 超长正整数相加 本题整体思想不难,主要是想好用什么容器去存储计算值和计算结果值,这里用的是字符串,当然也可以用数组,题目链接:https://www.nowcoder.com/practice/5821836e0ec140c1aa29510fd05f45fc?tpId以下为解答代码(具体细节看注释):string AddLongInteger(string addend, string augend){ ...
C++ 二叉搜索树原理及其实现 首先是概念:二叉搜索树又称二叉排序树,它具有以下的性质:若是左子树不为空,则左子树上所有节点的值小于根节点的值若是右子树不为空,则右子树上所有结点的值大于根节点的值二叉搜索树的左右子树也是二叉搜索树二叉搜索树的中序排列是一个有序数列再下来是它的实现首先是构造节点:template<class K>struct BStreeNode{ BStreeNode(c...
C++ 参数解析(来源牛客网) 题目地址:参数解析重点是要意识到利用flag来区别处理在“”内外的字符#include<iostream>#include<vector>#include<string>using namespace std;int main(){ string str,stt; int i=0; bool flag = 0; vec...
C/C++ 快速排序的实现 代码如下:#include<iostream>using namespace std;void qS(int *array,int left,int right){ if(left<right){ //快速排序的终止条件,当仅剩下一个元素则结束快速排序 int key=array[left]; int low=left,high=right; ...
C++ 详解dynamic_cast dynamic_cast运算符的主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,并用派生类的指针或引用调用非虚函数。如果是基类指针或引用调用的是虚函数无需转换就能在运行时调用派生类的虚函数。前提条件:当我们将dynamic_cast用于某种类型的指针或引用时,只有该类型含有虚函数时,才能进行这种转换。否则,编译器会报错。dynamic_cast运算符的调用形式如下所示:dynam...
C++ 友元函数友元类 友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下: friend 类型 函数名(形式参数);友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们是没有区别的,都说明是该类的一个友元函数。 一个函数可以是多个类的友元函数,只需要在各个...
C++ 关于继承部分重要知识点 1.继承体现了面向对象设计的层次结构,体现了有捡到到复杂的认知过程2.继承是使代码可以复用的最重要手段3.继承方式和访问限定符4.继承基类成员访问方式的变化5.实际运用中一般都是使用public继承,几乎很少使用protected/private继承6.派生类对象 可以赋值给 基类的对象 / 基类的指针 / 基类的引用但是基类对象不能赋值给派生类对象7.基类的指针可以通过强制类型转换赋...