c++
zhubao124
这个作者很懒,什么都没留下…
展开
-
2. C++中的引用
在讲C++中的引用之前,先讲下C++中的三目运算符。一、C++中的三目运算符下面的代码正确吗?如果正确输出什么?//2-1.cpp#include <stdio.h>int main(int argc, char *argv[]){ int a = 1; int b = 2; (a < b ? a : b) = 3;...原创 2019-10-19 22:35:49 · 191 阅读 · 0 评论 -
19. C++第十六节到十八节的总结
你可能会看到类似下面的模板定义:#include <cstdlib>#include <iostream>using namespace std;template<class T>T Minus(T a, T b){ return a - b;}template<class T>class Add{publ...原创 2019-12-15 08:34:05 · 114 阅读 · 0 评论 -
18. C++中STL简介
标准模板库STL什么是STL? ― STL,即:Standard Template Library,是C++的一部分; ― STL是常用数据结构和算法的集合; ― STL的目标是标准化组件,提高开发效率和程序可靠性;STL库作为C++的一部分与编译器一同被发布 STL主要由以下3个部分组...原创 2019-12-14 17:21:01 · 299 阅读 · 0 评论 -
17. C++中的类模板
在学习类模板之前,建议先学习下函数模板的内容。类是C++的核心,那是否能够将函数模板的思想应用于类呢?类模板一些类主要用于存储和组织数据元素。如:数组类,链表类,Stack类,Queue类等等。C++中可以将模板的思想应用于类,使得类可以不关注具体所操作的数据类型,而只关注类所需要实现的功能。C++中的类模板,提供一种特殊的类以相同的行为处理不同的类型,在类声明前使用templat...原创 2019-12-14 10:13:49 · 456 阅读 · 0 评论 -
16. C++泛型编程(函数模板)
C++中如何交换两个变量的值?你注意到了么?除了类型不同,函数体代码完全相同!!!C++强调代码复用!那如何解决这个代码冗余的问题呢?泛型编程泛型编程的概念:不考虑具体数据类型的编程模式。C++中,泛型编程是通过函数模板。1. 函数模板是一种特殊的函数可用不同类型进行调用;2. 函数模板看起来和普通函数很相似,区别是类型可被参数化;函数模板的语法规则...原创 2019-12-14 08:51:08 · 1122 阅读 · 0 评论 -
15. C++第十二节到第十四节总结
当多态遇见对象数组会发生什么?#include <cstdlib>#include <iostream>using namespace std;//4字节VPTR + 4字节的int i = 8字节class Parent{protected: int i;public: virtual void f() { ...原创 2019-11-17 21:17:14 · 118 阅读 · 0 评论 -
14. C++中继承与多态
如果子类定义了与父类中原型相同的函数会发生什么?在子类中定义与父类中原型相同的函数叫做函数重写。函数重写只发生在父类与子类之间。#include <cstdlib>#include <iostream>using namespace std;class Parent{public: void print() { cout&...原创 2019-11-16 22:02:31 · 370 阅读 · 0 评论 -
13. c++中继承的构造与析构
赋值兼容性原则:子类对象可以当作父类对象使用 1. 子类对象可以直接赋值给父类对象; 2. 子类对象可以直接初始化父类对象; 3. 父类指针可以直接指向子类对象; 4. 父类引用可以直接引用子类对象;注:子类就是特殊的父类!!!#include <cstdlib>#i...原创 2019-11-16 21:24:56 · 218 阅读 · 0 评论 -
12. C++中的继承
一、继承的概念1. 面向对象中的继承指类之间的父子关系; 2. 子类拥有父类的所有成员变量和成员函数; 3. 子类就是一种特殊的父类; 4. 子类对象可以当作父类对象使用; 5. 子类可以拥有父类没有的方法和属性;#include <cstdlib>#include <iostream>using na...原创 2019-11-16 16:49:27 · 321 阅读 · 0 评论 -
11. C++第五节到第十一节总结
问题1:malloc与free和new与delete有什么区别?#include <cstdlib>#include <iostream>using namespace std;class Test{private: int i;public: Test() { cout<<"Test()"<&...原创 2019-11-16 09:57:42 · 148 阅读 · 0 评论 -
10. C++操作符重载
在介绍C++中操作符重载之前,先介绍下C++标准库。一、C++标准库 1. C++标准库并不是C++语言的一部分; 2. C++标准库是由C++语言编写而成的类库和函数的集合; 3. C++标准库中定义的类和对象都位于std命名空间中; 4. C++标准库的头文件都不带.h后缀;...原创 2019-11-10 19:59:07 · 1027 阅读 · 1 评论 -
9. C++中类的静态成员
成员变量的回顾: 1. 通过对象名能够访问public成员变量; 2. 每个对象都可以有只属于自己的成员变量; 3. 成员变量不能在对象之间共享;新的需求: 统计类在程序运行期间有多少个对象同时存在,保证程序的安全性,并随时可以获取对象的数目。使用普通的成员变量可行吗?一、类的静态成员...原创 2019-11-10 10:13:13 · 333 阅读 · 0 评论 -
8. C++中的构造函数和析构函数
一、对象的初始化 生活中存在的对象都是被初始化后才上市的,初始状态是对象普遍存在的一个状态的。C++中如何给对象初始化呢? 解决方案 1. 为每个类都提供一个public的initialize函数 2. 对象创建后立即调用initialize函数进行初始化#in...原创 2019-11-04 07:19:32 · 865 阅读 · 0 评论 -
7. C++中类的封装
类通常分为以下两个部分 1. 类的实现细节 2. 类的使用方式 注:当使用类时,不需要关心其实现细节;当创建一个类时,才需要考虑其内部实现细节;使用手机时,只需要知道如何发短信,打电话,拍照等等即可,不需要关心手机是如何开发出来的。手机开发工程师就需要考虑手机内部的实现细节,如硬件细节和软件细节。一、封装的基本概念...原创 2019-11-02 10:38:44 · 2069 阅读 · 0 评论 -
6. 面向对象基本概念
一、基本概念 类和对象是面向对象中的两个基本概念。“类”指的是一类事物,是一个抽象的概念“对象”指的是属于某个类的一个实体,是一个具体存在的事物。 类是一种“模板”,可以通过这种模板创建出不同的对象“实例”。 对象“实例”是类“模板”的一个具体实现。 一个类可以有很多对象,而一个对象必然属于某个类。二、类和对象...原创 2019-11-02 07:56:27 · 1520 阅读 · 0 评论 -
5. C++第一节到第四节总结
一、符号表什么是符号表?符号表存储在程序中的哪个地方? 1. 符号表是编译器在编译过程中产生的关于源程序中语法符号的数据结构; 2. 如常量表、变量名表、数组名表、函数名表等等; 3. 符号表是编译器自用的内部数据结构; 4. 符号表不会进入最终产生的可执行程序中;...原创 2019-10-29 23:06:08 · 617 阅读 · 1 评论 -
4. C++新的关键字
一、C++中的动态内存分配 1. C++中通过new关键字进行动态内存申请,C++中的动态内存申请是基于类型进行的; 2. delete关键字用于内存释放;#include <stdio.h>int main(){ int* p = new int; *p = 5; *p = *p + 10; ...原创 2019-10-27 09:05:18 · 250 阅读 · 0 评论 -
3. C++中的函数
一、常量与宏回顾C++中的const常量可以替代宏常数定义,如: const int A = 3; -> #define A 3C++中是否有解决方案替代宏代码片段呢?替代宏代码片段就可以避免宏的副作用!二、C++中的函数1. 内联函数 1. C++中推荐使用内联函数替代宏代码片段; ...原创 2019-10-20 11:24:01 · 808 阅读 · 0 评论 -
1. C到C++的升级
一、C与C++的关系1. C++继承了所有的C特性;2. C++在C的基础上提供了更多的语法和特性;3. C++的设计目标是运行效率与开发效率的统一;二、C++对C的加强1. C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义。//1-1.cpp#include <stdio.h>int main(int argc, ch...原创 2019-10-18 21:58:56 · 346 阅读 · 0 评论 -
char*,const char*和string 三者转换
1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。EX: const char* tmp = "tsinghua".string s = tmp;(2) string转换为const char*,利用c_str()EX: string s = "tsinghua";...转载 2019-04-09 18:24:45 · 365 阅读 · 0 评论