随笔分类 -
C++
-
多态
摘要:一、多态的概念 通俗来说, 就是多种形态; 具体点就是去完成某个行为, 当不同的对象去完成时会产生不同的状态。 举个例子: 比如当你在火车站买票, 普通成人买票时, 是全价买票; 学生买票时, 是半价买票; 军人买票时是优先买票。 二、多态的定义及实现 1.多态的构成条件 多态是在不同继承关系的类对
阅读全文
-
继承
摘要:一、继承的概念 继承机制是面向对象程序设计复用代码的重要手段 它还允许程序员在保持原有类特性的基础上进行扩展, 这样产生的新的类叫做派生类 继承呈现了面向对象程序设计的层次结构, 继承是类设计层次的复用 二、继承的定义 1.定义格式 2.继承关系和访问限定符 1. 公有继承(public) 基类的公
阅读全文
-
多态
摘要:虚函数 : 在函数前面加一个virtual, 这个函数就是一个虚函数 class Person{ public: virtual void BuyTicket(){ cout << " " << endl; } }; 多态的条件: 0.前提 : 要有继承 1.有虚函数 2.子类重写父类的虚函数 3.
阅读全文
-
范围for循环
摘要://普通for循环 void test(){ int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i){ cout << arr[i] << " "; } cou
阅读全文
-
引用
摘要:void test(){ int a = 10; //ra是一个引用,ra是a的别名 int& ra = a; A sa; sa.a = 1; sa.b = 1; //引用不分配新的空间 A& rsa = sa; //拷贝会分配新的空间 A copy = sa; copy.a = 5; //不会印象
阅读全文
-
string(下)
摘要:查找find void test(){ string str = "1234567890123456123"; string str2 = "123"; //find:第一次遇到匹配的位置, 则查找结束 size_t pos = str.find("123"); //0 pos = str.find
阅读全文
-
string
摘要:string的最基本操作就是创建字符串 void test(){ //创建一个空的string对象 string str; //拷贝一个和已经存在的对象内容一模一样的新的对象 string copy(str); //生成一个abc的字符串 string str2("abc"); //在str2中取下
阅读全文
-
模板
摘要:函数模板概念 函数模板可以表示很多个函数,函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本 函数模板格式 template<typename T1,typename T2, ..... typename Tn > 返回值类型 函数名(参数列表){} 用不同类型的参数使用函数模
阅读全文
-
C++内存管理
摘要:C语言中申请和释放空间(内置类型) malloc只负责申请空间, 不进行空间初始化 calloc负责申请空间, 并进行零时的初始化, 全部初始化为0 realloc调整生成的空间 void test(){ int* p1 = (int*)malloc(sizeof(int)); free(p1);
阅读全文
-
日期的运算
摘要:#include<stdio.h> #include<iostream> using namespace std; class Date{ public: Date(int y=1,int m=1,int d=1){ //判断是否有效 if (y <= 0 || m <= 0 || m > 12 |
阅读全文
-
运算符重载
摘要:运算符重载 : 函数名字为 : 关键字operator后面接需要重载的运算符符号 函数原型 : 返回值类型 operator操作符(参数列表) 注意 : 1.不能通过连接其他符号来创建新的操作符 : 比如operator@ ; 2.重载操作符必须有一个类类型或者枚举类型的操作数 ; 3.用于内置类型
阅读全文
-
类的默认成员函数
摘要:类的6个默认成员函数 如果一个类中什么成员都没有 , 简称为空类 . 但空类中并不是什么都没有 , 而是会 自动生成6个默认成员函数 . 1 . 构造函数主要完成初始化工作 ; 2 . 析构函数主要完成清理工作 ; 3 . 拷贝构造是使用同类对象初始化创建对象 ; 4 . 赋值重载主要是把一个对象赋
阅读全文
-
C++ -- 类
摘要:C++定义一个类 : 和结构体的定义方式一样 struct Student{ //成员函数 void SetStudentInto(const char* name, const char* gender, int age){ strcpy(_name, name); strcpy(_gender,
阅读全文
-
C++入门
摘要:内联函数 : 以 inline 修饰的函数叫内联函数 , 编译时C++编译器会在调用内联函数的地方展开 , 没有函数压栈的开销 , 内联函数提示程序运行的效率 . 特性 : 1. inline是一种以空间换时间的做法 , 省去调用函数开销 , 所以代码很长或有循环的函数不适合使用作为内联函数 . 2
阅读全文
-
C++入门--引用
摘要:引用 : 引用不是新定义一个变量 , 而是给已存在的变量取一个别名 , 编译器不会为引用变量开辟空间 , 它和它引用的变量共用同一块内存空间 . 类型& 引用变量名(对象名)=引用实体 特性 : 1 . 引用在定义时必须初始化 ; 2 . 一个变量可以有多个引用 ; 3 . 引用一旦引用一个实体 ,
阅读全文
-
C++入门
摘要:命名空间 : 变量 , 函数和类的名称若都存在于全局作用域中 , 可能会导致很多冲突 , 使用命名空间 的目的是对标识符的名称进行本地化 , 以免命名冲突或名字污染 , namespace关键字 的出现就是针对这一问题 . namespace + 命名空间名称 { 变量 , 函数 } #includ
阅读全文
|