c++学习
文章平均质量分 84
六十三吖
代码也是我生活的一部分
展开
-
c++模板库线性表线性存储实现实现
SeqList.h#pragma oncetemplateclass SeqList{public: SeqList(int capacity); ~SeqList(void);public: int SeqList_Length(); int SeqList_Capacity(); int SeqList_Insert(T &t, int pos); int Seq原创 2017-10-17 20:48:37 · 389 阅读 · 0 评论 -
多态
问题引出如果子类定义了与父类中原型相同的函数会发生什么?函数重写在子类中定义与父类中原型相同的函数函数重写只发生在父类与子类之间#include<iostream>using namespace std;class Parent{public: void print() { cout << "Parent:print() do..." << e...原创 2017-10-16 18:46:50 · 158 阅读 · 0 评论 -
继承和派生
继承中的基本语法(通过公有继承,派生类得到了基类中除构造函数、析构函数之外的所有成员。)#include <iostream>using namespace std;class Parent{public: void print() { a = 0; b = 0; cout<<"a"<<a<<endl; cout<...原创 2017-10-15 17:13:19 · 332 阅读 · 0 评论 -
运算符重载
概念所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。 运算符也可以重载。实际上,我们已经在不知不觉之中使用了运算符重载。例如,大家都已习惯于用加法运算符”+”对整数、单精度数和双精度数进行加法运算,如5+8, 5.8 +3.67等,其实计算机对整数、单精度数和双精度数的加法操原创 2017-10-15 15:22:40 · 257 阅读 · 0 评论 -
友元
友元函数原创 2017-10-15 10:49:25 · 177 阅读 · 0 评论 -
C++面向对象模型初探
前言 C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分,主要涉及如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等。2. 对于各种支持的底层实现机制。在c语言中,“数据”和“处理数据的操作(函数)”是分开来声明的,也就是说,语言本身并没有支持“数据和函数”之间的关联性。在c++中,通过抽象数据类型(abstractdata type原创 2017-10-15 10:15:37 · 229 阅读 · 0 评论 -
静态成员变量成员函数
静态成员变量1)定义静态成员变量Ø 关键字 static 可以用于说明一个类的成员, 静态成员提供了一个同类对象的共享机制Ø 把一个类的成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个 static 成员Ø 静态成员局部于类,它不是对象成员#include<iostream> using namespace std;c...原创 2017-10-15 10:00:39 · 183 阅读 · 0 评论 -
对象的建立和释放
1 new和delete基本语法1 new和delete基本语法1)在软件开发过程中,常常需要动态地分配和撤销内存空间,例如对动态链表中结点的插入与删除。在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C++提供了较简便而功能较强的运算符new和delete来取代malloc和free函数。注意: new和delete是运算符,不是函数,因此执行效率高。原创 2017-10-15 09:42:58 · 757 阅读 · 0 评论 -
类和对象基本知识及对象的析构和构造
基本概念1)类、对象、成员变量、成员函数2)面向对象三大概念封装、继承、多态类的封装1)封装(Encapsulation)A)封装,是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体,这在计算机世界中是用类与对象实现的。B)封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 备注:有2层含义(把属性和...原创 2017-10-15 08:19:38 · 364 阅读 · 0 评论 -
引用专题讲座
引用概念a) 在C++中新增加了引用的概念b) 引用可以看作一个已定义变量的别名c) 引用的语法:Type& name = var;d) 引用做函数参数那?(引用作为函数参数声明时不进行初始化,)e) 普通引用必须要初始化void main01(){ inta = 10; //c编译器分配4个字节内存。。...原创 2017-10-14 09:35:49 · 277 阅读 · 0 评论 -
c/c++中的const
const基础知识(用法、含义、好处) int main(){const int a;int const b; const int *c;int * const d;const int * const e ; return 0;} Int func1(const )初级理解:const是定义常量==》const意味着只原创 2017-10-14 09:25:31 · 173 阅读 · 0 评论 -
c++对c语言上的增强
“实用性”增加#include"iostream" using namespace std; //C语言中的变量都必须在作用域开始的位置定义!!//C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义。 #include using namespace std;//C语言中的变量都必须在作用域开始的位置定义!!/原创 2017-10-14 08:58:05 · 263 阅读 · 0 评论 -
命名空间
1 C++命名空间基本常识所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。一 :和格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明原创 2017-10-14 08:46:07 · 197 阅读 · 0 评论 -
重载重写和重定义
#include using namespace std;//重写 重载 重定义//重写发生在2个类之间//重载必须在一个类之间//重写分为2类//1 虚函数重写 将发生多态//2 非虚函数重写 (重定义)class Parent{ //这个三个函数都是重载关系public: void abc() { printf("abc"); } virtual原创 2017-10-16 21:22:02 · 197 阅读 · 0 评论 -
c++对c函数的扩展
C++中的const常量可以替代宏常数定义,如:const int A = 3; #define A 3C++中是否有解决方案替代宏代码片段呢?(替代宏代码片段就可以避免宏的副作用!)C++中推荐使用内联函数替代宏代码片段C++中使用inline关键字声明内联函数//inline int myfunc(int a, int b)和函数体的原创 2017-10-14 14:32:05 · 252 阅读 · 0 评论 -
深拷贝和浅拷贝
浅拷贝程序C++提供的解决方法显示提供copy构造函数显示操作重载=号操作,不使用编译器提供的浅copy class Name{public: Name(const char *pname) { size = strlen(pname); pName = (char *)malloc(size ...原创 2018-03-29 17:18:43 · 145 阅读 · 0 评论