
C++学习
文章平均质量分 61
ZXF-36691402
这个作者很懒,什么都没留下…
展开
-
extern 'c'
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有转载 2017-08-07 23:48:34 · 187 阅读 · 0 评论 -
数据结构之二叉树(数组)
二叉树的定义 二叉树(binary tree)由结点的有限集合构成,这个有限集合或者为空集(empty),或者为由一个根结点(root)及两棵互不相交、分别称作这个根的左子树(left subtree)和右子树(right subtree)的二叉树组成的集合。二叉树的五种基本形态二叉树相关术语p二叉树是由唯一的起始结点引出的结点集合原创 2017-08-06 23:43:18 · 359 阅读 · 1 评论 -
C++之类和对象(二)
构造函数和析构函数1.构造函数在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能调用),而是在创建对象时自动执行。这种特殊的成员函数就是构造函数(Constructor)。 在 Student类中定义了一个构造函数Student(char *, int, float),它的作用是给三个private 属性的成员变量赋值。要想调用翻译 2017-08-04 23:18:37 · 645 阅读 · 0 评论 -
C++--多态
一.多态性1.多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。 2.C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为遮蔽或者称为重写。(这里我觉得要补充,重写的话可以有两种,直接重写成员函数和重写虚函数,只有重写了虚函数的才能原创 2017-08-12 22:50:57 · 209 阅读 · 0 评论 -
C++ 复习篇之 类和对象(一)
1.类和对象类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间。有些教程将类的成员变量称为翻译 2017-08-04 23:16:40 · 270 阅读 · 0 评论 -
C++--容器
容器1.容器的定义生活中:容器是用来存放物品,水桶是水的容器,油桶是油的容器。C++中:存放不同的数据结构类型指定的容器。STL是C/C++开发中一个非常重要的模板,而其中定义的各种容器也是非常方便我们大家使用。STL中的常用容器包括:顺序性容器(vector、deque、list)、关联容器(map、set)、容器适配器(queue、stack)。 2原创 2017-08-18 22:36:47 · 393 阅读 · 0 评论 -
C++--算法
异常1.C++异常处理入门(try和catch)程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:1) 语法错误在编译和链接阶段就能发现,只有 100%符合语法规则的代码才能生成可执行程序。2) 逻辑错误是说我们编写的代码思路有问题,不能够达到最终的目标,这种错误可以通过调试来解决。3) 运行时错误是指程序在运行期间发生的错误,例如除数为 0、内存分配失原创 2017-08-18 22:35:39 · 192 阅读 · 0 评论 -
C++求二维数组外围各元素的和
#include using namespace std;class SUM{private: int a[4][4];int s;public:SUM(int b[4][4]);void process();void print();};SUM::SUM(int b[4][4]){ int i;int j;for (i原创 2017-01-18 23:25:00 · 2909 阅读 · 0 评论 -
c++对一个5位数的任意整数,求出其降序数
#include using namespace std;class DescendNUM{private: int n; int a[5];public: DescendNUM(int x );void decompose();void dsort();void show();};DescendNUM::DescendNUM(原创 2017-01-20 00:41:29 · 810 阅读 · 0 评论 -
C++写的感悟
C++是面向对象,所以在写c++的继承,封装,多态的时候要定义类,要考虑好构造和析构函数,要考虑成员函数是否重名,同时也要考虑好多继承等等,我感觉c++的语言相对c语言而言的话会简洁许多,所以写起来写方便许多。原创 2017-01-20 23:58:03 · 249 阅读 · 0 评论 -
C++封装、继承、多态
面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!封装转载 2017-08-03 23:37:26 · 240 阅读 · 0 评论 -
c++模板
1.模版是实现代码的一种工具,可以实现参数类型化,就是把参数定义为类型,从而实现代码的可重用性。 模版分为类模版和函数模版。模版就是把功能相似,仅数据类型不同的函数和类设计为通用的函数模版和类模版,提供给用户。模版是泛型编程基础。所谓泛型编程就是独立于任何特定类型的方式编写代码。简单说:类是对象的抽象,模版是类的抽象,用模版定义具体类。 函数模版的语法:Template原创 2017-08-17 23:24:41 · 200 阅读 · 0 评论 -
C++向上转型
在 C/C++ 中经常会发生数据类型的转换,例如将int 类型的数据赋值给float 类型的变量时,编译器会先把int 类型的数据转换为float 类型再赋值;反过来,float类型的数据在经过类型转换后也可以赋值给 int类型的变量。 数据类型转换的前提是,编译器知道如何对数据进行取舍。例如:int a = 10.9;printf("%d\n", a);原创 2017-08-09 22:09:40 · 381 阅读 · 0 评论 -
C++之继承与派生、多继承、C++向上转型
1.参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。 对于像 char、bool、int、float等基本类型的数据,它们占用的内存往往只有几个字节,对它们进行内存拷贝非常快速。而数组、结构体、对象是一系列数据的集合,数据的数量没有限制,可能很少,也可能成千上万,对它们进行频繁的内存拷贝可能会消耗很多时间,拖慢程序的执行效原创 2017-08-08 23:40:34 · 1214 阅读 · 0 评论 -
c++--多态性和虚函数
//虚继承解决了命名冲突的问题,只保留了一份基类成员,最终派生类要调用虚基类的构造函数,并且虚基类是最先调用的,其他构造函数出现顺序和出现的顺序一样(一般派生类都要调用基类的构造函数) 1.多态的概念和用途 //虚函数实现多态 通过基类指针只能访问派生类的成员变量,但是不能访问派生类的成员函数。为了消除这种尴尬,让基类指针能够访问派生类的成员函数,C++增加了虚函原创 2017-08-16 23:25:35 · 278 阅读 · 0 评论 -
C++--运算符的重载
1.运算符重载的概念所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。运算符重载的格式为:返回值类型 operator运算符名称 (形参表列) { //TODO:}ope原创 2017-08-16 23:22:02 · 362 阅读 · 0 评论 -
C++ --继承和派生
1.面向对象程序设计有3个主要特点:封装、继承和多态性。我们已经讲解了类和对象,了解了面向对象程序设计的个重要特征一数据封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础。 要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特 征——继承性和多态性。2.继承的概念继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的原创 2017-08-13 23:15:10 · 648 阅读 · 0 评论 -
const和static在c和c++中的不同之处
const在c语言中: 作用:被修饰的内容不能被修改。 使用场合:修饰变量,函数参数,返回值等。 特点: 是运行时const,因此不能取代#define用于成为数组长度等需要编译时常量的情况。同时因为是运行时const,可以只定义而不初始化,而在运行时初始化。如 const int iConst;。 另外,在c中,const变量默认是外部链接,因此在不同的编译单元原创 2017-08-06 23:47:55 · 210 阅读 · 0 评论