c++
Twig程
Make more time.
展开
-
C++ 虚函数浅析与总结
定义在基类中用关键字virtual修饰的成员函数称为虚成员函数,虚函数的定义格式为:virtual<类名><函数名>(参数){.......}一旦一个成员在父类中被声明为虚成员函数后,在派生类中则自动的被生成了虚函数(不管是否添加virtual关键字)。 C++中仅仅允许将成员函数定义为虚函数,顶层函数是不可以定义为虚函数的。virtual void f()//error{ }和普通成员函原创 2017-11-05 15:41:54 · 283 阅读 · 0 评论 -
C++ 引用的简单理解
不妨从下面这段简单的引用代码看起:#include<iostream>using namespace std;int main(){ int x=12; int &a=x;//在此&仅仅表示的是标识作用 //**声明引用的时候,必须同时对其初始化操作。 a=a+1; cout<<a<<endl;} 注意一下: 引用本身并不占用存储空间,只是变原创 2017-11-05 20:12:58 · 235 阅读 · 0 评论 -
C语言和C++语言关系
C语言是在实践的过程中逐步完善起来的没有深思熟虑的设计过程 使用时存在很多“灰色地带” 残留量过多低级语言的特征 直接利用指针进行内存操作C语言的目标是高效最终程序执行效率的高效 当面向过程方法论暴露越来越多的缺陷的时候,业界开始考虑在工程项目中引入面向对象的设计方法,而第一个需要解决的问题就是:高效的面向对象语言,并且能够兼容已经存在的代码。 C语言 + 面向对象方法论===》Obje翻译 2017-11-05 14:22:36 · 1935 阅读 · 0 评论 -
C++ 类型转换
1 类型转换名称和语法C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 static_cast 静态类型转换。如int转换成char reinterpreter_cast 重新解释类型 dynamic_cast 命名上翻译 2017-11-05 11:39:07 · 428 阅读 · 0 评论 -
C++ 函数模板与类模板
1-1 为什么要一用函数模板呢。#include <iostream>using namespace std;/*void myswap(int &a, int &b){ int t = a; a = b; b = t;}void myswap(char &a, char &b){ char t = a; a = b; b = t;}*原创 2017-11-04 16:34:09 · 2997 阅读 · 0 评论 -
纯虚函数和抽象类简介
基本概念和理解 纯虚函数是在一个基类(父类)中说明的虚函数,在基类中没有定义,要求任何派生类(子类)都可以有自己的版本。 纯虚函数的说明形式:virtual 类型 函数名(参数表)=0;class point{......};class xxx; //抽象类{pointer center;..........public: virtual void rotate(int原创 2017-11-03 17:27:54 · 501 阅读 · 1 评论 -
C++ 重写与重载
函数重载 必须在同一个类中进行 子类无法重载父类的函数,父类同名函数将被名称覆盖 重载是在编译期间根据参数类型和个数决定函数调用 函数重写 必须发生于父类与子类之间 并且父类与子类中的函数必须有完全相同的原型 使用virtual声明之后能够产生多态(如果不使用virtual,那叫重定义)原创 2017-11-04 17:24:00 · 637 阅读 · 0 评论 -
C++ 静态联编与动态联编
静态联编和动态联编1、联编是指一个程序模块、代码之间互相关联的过程。 2、静态联编(static binding),是程序的匹配、连接在编译阶段实现,也称为早期匹配。 重载函数使用静态联编。 3、动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编(迟绑定)。 switch 语句和 if 语句是动态联编的例子。 1、C++与C相同,是静态编译型语言 2、在编译时,编译器原创 2017-11-04 17:20:30 · 706 阅读 · 0 评论 -
C++ 运算符重载
1 概念 所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。 运算符也可以重载。实际上,我们已经在不知不觉之中使用了运算符重载。例如,大 家都已习惯于用加法运算符”+”对整数、单精度数和双精度数进行加法运算,如5+8, 5.8 +3.67等,其实计算机对整数、单精度数和双精度数的加原创 2017-11-04 14:29:59 · 271 阅读 · 0 评论 -
C++ 多态知识点综合整理
多态的前提条件子类继承父类指针或者引用虚函数(virtual <类名><函数名>(参数)) 在纯面向对象语言中,所有的函数都是多态的,而像C++这样的混合语言,函数既可以是多态的也可以是非多态的,这要由绑定的实际是编译时刻还是运行时刻来决定//本类为多态前提条件的案例#include <iostream>using namespace std;class TradesPerson{原创 2017-11-03 20:05:49 · 339 阅读 · 0 评论 -
C++ 友元函数
在声明中,可以放在该类中private,public,protect中的任意部分。 可以将顶层函数声明为friend,还可以将一个函数声明为另一个类的friend,也可以将类声明为另一个类的friend,以下代码案例分析(类的friend)!#include <iostream>using namespace std;class A{private: int a; fr原创 2017-11-04 10:19:29 · 275 阅读 · 0 评论 -
C++ 静态成员变量与静态成员函数
一、静态成员变量1)定义静态成员变量 关键字 static 可以用于说明一个类的成员,静态成员提供了一个同类对象的共享机制 把一个类的成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个 static 成员 静态成员局部于类,它不是对象成员例如:#include<iostream>using namespace std;class cou原创 2017-11-06 11:33:08 · 5936 阅读 · 0 评论