C++
_Peko_
这个作者很懒,什么都没留下…
展开
-
【指针数组的大小】
#include<iostream>#include<string.h>using namespace std; int main(){ char* p[4]; int* a[4]; double* b[4]; cout<<sizeof(p)<<endl; cout<<sizeof(a)<<end...原创 2020-04-10 15:51:22 · 2013 阅读 · 0 评论 -
【结构体的大小】
sizeof(S):结构体变量S所占用的内存大小所占字节strlen():计算字符串长度结构体中最长成员的长度:union转载 2020-04-04 21:04:15 · 418 阅读 · 0 评论 -
【什么是多态】
多态用基类的指针或引用操纵多个类型。 在面向对象语言中,接口的多种不同的实现方式即为多态。原创 2020-04-10 11:02:26 · 65 阅读 · 0 评论 -
【类中的 static 成员】
类中的静态成员属性(属于类,不属于对象) #include<iostream>#include<string.h>using namespace std;class A{ private: static int a ; //声明 public: void show(){ cout<<a<<endl; //类本身...原创 2020-04-09 21:04:54 · 102 阅读 · 0 评论 -
【字符串反转】 指针操作
#include<iostream>#include<string.h>using namespace std;int main(){ char str[]="Hello"; int len = strlen(str); char b[20]={0}; char *s1; s1 = str; char* s2 = b + len-1; w...原创 2020-04-09 20:40:15 · 247 阅读 · 0 评论 -
【inline 内联函数】
inline inline 修饰过的函数,会让调用函数的动作变成了直接使用函数内语句的动作,即减少了函数的调度,但是仍然发挥调用函数的效果例如下面的这个程序#include<iostream>#include<string>#include<vector>#include<algorithm>using namespa...原创 2020-04-05 15:39:10 · 62 阅读 · 0 评论 -
【字符串转换为整型】 atoi()函数、itoa()函数
#include<iostream>#include<string.h>#include<string>#include <stdio.h>#include <stdlib.h>#include <string.h>using namespace std;int main(){ string ...原创 2020-04-04 22:44:04 · 359 阅读 · 0 评论 -
【枚举 enum】
#include<iostream>#include<string.h>using namespace std;enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN};int main(){ DAY day; day = MON; cout<<day<<endl; retur...原创 2020-04-04 21:09:08 · 91 阅读 · 0 评论 -
int argc 命令行变量个数 与 char** argv 命令行变量数组
该题是牛客网上的题目:https://www.nowcoder.com/test/question/done?tid=32282221&qid=56842#summary以下程序经编译连接生成可执行文件tt.exe,若运行以下命令行tt 12 345 678,则程序的输出结果是()int main(int argc,char** argv){ i...原创 2020-04-04 20:49:53 · 386 阅读 · 0 评论 -
【字符串】 相等问题
该题是牛客网上的题目:#include <iostream>using namespace std; int main() { char str1[] = "hello world"; char str2[] = "hello world"; const char str3[] = "hello world"; const ...原创 2020-04-04 20:26:07 · 505 阅读 · 0 评论 -
变量和值在内存中的存储位置
变量和值在内存中的存储位置一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分 配方式倒是类似于链表...转载 2020-04-04 20:13:38 · 1652 阅读 · 0 评论 -
继承与组合的区别
继承: #include<iostream>using namespace std;class A{ public: int m_a; public: void fun(){};};class B:public A{ public: int m_b;};int main(){ return 0;} 组合 #...原创 2020-04-04 18:18:58 · 105 阅读 · 0 评论 -
动态开辟二维数组、二维数组传参
#include<iostream>using namespace std;int main(){ int len1; int len2; cout<<"请输入二维数组的行数(小于10)"<<endl; cin>>len1; cout<<"请输入二维数组的列数(小于10)"<<endl; cin&g...原创 2020-04-04 10:22:09 · 130 阅读 · 0 评论 -
获取二维数组的行列数
#include<iostream>using namespace std;int main(){ int score[][60] = {{1,2},{1,4},{3,4},{1,1},{2,4},{2,2},{4,4},{3,2},{2,1},{2,4},{2,4},{3,4},{3,4},{2,1},{2,4},{3,1},{3,3},{2,2} ,{4,3},{2...原创 2020-03-22 15:08:20 · 894 阅读 · 0 评论 -
【不同继承方式下的成员封装性改变】
PS:图片来源自黑马程序员注意事项1)子类会继承父类所有非静态成员属性2)子类实例化时,先调用父类构造,后调用子类构造(析构与构造顺序相反)3)子类中存在与父类同名的成员时,父类的成员会被隐藏,因此子类要访问父类的成员时,要加作用域(父类::成员)...原创 2020-02-27 16:25:06 · 107 阅读 · 0 评论 -
【重载运算符】
全局函数重载运算符#include<iostream>using namespace std;class A{ public: int n1; public: A(){ n1 = 100; }; };//全局函数重载运算符 A* operator+(A& a1,A& a2){ A* temp = new A; temp-&...原创 2020-02-26 21:50:03 · 166 阅读 · 0 评论 -
【友元函数】
友元函数的三种情况1)全局函数做友元2)类做友元3)成员函数做友元1)全局函数做友元#include<iostream>using namespace std;class A{ private: int n1; public: };void fun1(A* a){ cout<<a->n1<<end...原创 2020-02-26 21:22:02 · 395 阅读 · 0 评论 -
【常函数与常对象】
#include<iostream>using namespace std;class A{ private: int num1; //常函数不可修改 mutable int num2; //常函数可修改 public: //常函数:在函数后面加上const void fun1() const{ //常对象可调用...原创 2020-02-26 09:53:45 · 165 阅读 · 0 评论 -
【成员变量与成员函数的存储】
在C++的类中 非静态成员变量 静态成员变量 非静态成员函数 静态成员函数 归属 属于对象 属于类 存储区域 代码区 全局区 代码区 全局区 ...原创 2020-02-26 09:31:38 · 240 阅读 · 0 评论 -
【链式编程】
#include<iostream>using namespace std;int n = 0; class Student{ private: int num; public: Student(){ cout<<"调用默认构造函数"<<endl; }; Student(int num){ this->num = ...原创 2020-02-26 09:06:51 · 109 阅读 · 0 评论 -
【深拷贝和浅拷贝问题】
#include<iostream>#include<vector>#include<string.h>#include<string>using namespace std;//例子1:该程序容易崩掉,因为容器在放元素的时候,进行的是拷贝操作,而不是将元素直接放进容器中。// 如果涉及指针元素,则两份数据的指...原创 2019-02-26 19:00:48 · 281 阅读 · 0 评论 -
【三类构造函数】
#include<iostream>using namespace std;int n = 0; class Student{ private: int num; public: //默认构造函数 Student(){ cout<<"调用默认构造函数"<<endl; }; //有参构造函数 Student(int ...原创 2020-02-25 10:21:53 · 352 阅读 · 0 评论 -
【封装-访问权限】
类内 类外 子类 public 可访问 可访问 可访问 protected 可访问 不可访问 可访问 private 可访问 不可访问 不可访问 ...原创 2020-02-24 15:06:06 · 87 阅读 · 0 评论 -
【函数的占位参数】
#include<iostream>using namespace std;void fun(int,int){ cout<<":)"<<endl;}int main(){ fun(1,1); return 0;}原创 2020-02-24 11:54:43 · 156 阅读 · 0 评论 -
【函数的默认参数】
#include<iostream>using namespace std;int fun(int a,int b = 10,int c = 10){ return a+b+c;}int main(){ cout<<fun(10)<<endl; cout<<fun(10,20)<<endl; ret...原创 2020-02-24 11:42:01 · 98 阅读 · 0 评论 -
【&引用符号】
#include<stdio.h>void fun(int* &t); // & 符号 在不同的情况下作用是不同的// 1) 非声明时:取地址// 例: int* a = &b; //a的值是b的地址 // 2) 声明时:引用// 例: int &a = b; //a相当于b的别名,两者的地址是相同的 ...原创 2019-11-16 18:41:06 · 794 阅读 · 0 评论 -
【接口】 C++
#include<iostream>using namespace std;//【抽象类】(带有纯虚函数的类,这个类不能实例化)class father { protected: int a; public: virtual void InterfaceFunction() = 0; //【纯虚函数】 = 【接口】(子类必须实现这个...原创 2019-11-29 17:03:44 · 68 阅读 · 0 评论 -
【C++基础】
#include<iostream>using namespace std; class Data { protected: //【封装】(把数据和操作数据的函数捆绑在一起的机制) int a,b; public: Data(int A,int B) //【构造函数】(与类同名,实例化对象时,属性的初始化) { ...原创 2019-11-27 18:11:13 · 131 阅读 · 0 评论 -
【浅谈C中的 struct 和C++的 class】
C中的structC中的struct主要是用来描述不同数据类型而产生的自定义的数据类型,即定义数据的复合。struct Data{ int a; float b; char c;};整个结构体中所包含的仅仅是数据,而没有函数(如要使结构体中包含对函数的操作,可以借助函数指针)#include<stdio.h>int Sum(int a,int b){ ...原创 2019-11-27 17:35:21 · 139 阅读 · 0 评论 -
【C++文件流与文件操作】
ifstream和ofstream是类型名,表示输入和输出文件流ifstream file_in(fillname,openmode=ios::in);ofstream file_out(fillname,openmode=ios::out);参数 filename 是要打开的文件名,参数 openmode 是打开的模式,一般不用填,有默认值ifstream 默认打开模式为 io...原创 2019-11-25 15:58:25 · 240 阅读 · 0 评论 -
【C++】06 类模板类内实现
#include <iostream>#include<string>using namespace std;template <class T1,class T2>class student{ public: T1 mAge; T2 mName; public: student(T1 a...原创 2019-02-26 18:52:03 · 106 阅读 · 0 评论 -
【C++】03 类模板派生普通类
#include <iostream>using namespace std;template <class T>class Animal{ public: void fun(){ cout<<"The animal's age is "<<mAge<<endl; }...原创 2019-02-26 18:51:45 · 181 阅读 · 0 评论 -
【C++】05 函数模板之排序
#include <iostream>using namespace std;template <class T>MySort(T* arr,int len){ for(int i=0;i<len;i++) for(int j=i+1;j<len;j++){ if(arr[i]>arr[j]){ ...原创 2019-02-26 18:51:57 · 157 阅读 · 0 评论 -
【C++】02 类模板
#include <iostream>using namespace std;template <class T>class Person{ public : Person(T id,T age){ this->mAge = age; this->mId = id; ...原创 2019-02-26 18:51:40 · 305 阅读 · 0 评论 -
【C++】04 系统会自动根据函数模板生成相应的模板函数
原创 2019-02-26 18:51:52 · 235 阅读 · 0 评论 -
【C++】01 模板
使用模板的好处:给函数的使用带来的通用性,即调用函数时,基本不用考虑数据类型的问题// 时间:2019.2.11// 内容:模板技术 类型参数化 编写代码可以忽略类型 #include<iostream>#include<string> using namespace std;//template <class T> 为了让编译器区...原创 2019-02-26 18:51:31 · 478 阅读 · 0 评论 -
【C++】15 C++标准输入输出
#include<iostream>using namespace std;void test01(){ char ch; //每次从键盘输入的字符都输出到屏幕去 while((ch = cin.get())!=EOF){ cout<<ch<<endl; }} int main(){ test0...原创 2019-02-26 18:55:06 · 204 阅读 · 0 评论 -
【C++】14 输入输出流
流:是一种状态。比如不断地输入,称为输入流。不断地输出,称为输出流。 endl 的作用除了换行,还有刷新缓冲区。原创 2019-02-26 18:55:00 · 128 阅读 · 0 评论 -
【C++】13 异常接口声明
#include<iostream>using namespace std;//这个函数只能抛出int float char 三种类型异常,抛出其他就报错void test01() throw(int,float,char){ throw "abc";}//不能抛出任何异常void test02() throw(){ throw -1;}//...原创 2019-02-26 18:54:54 · 318 阅读 · 0 评论 -
【C++】12 栈解旋
#include<iostream>using namespace std;class Person{ public: Person(){ cout<<"对象构建"<<endl; } ~Person(){ cout<<"对象析构"<&a原创 2019-02-26 18:54:48 · 127 阅读 · 0 评论