C++
文章平均质量分 65
inavax_vem
喜欢编程,喜欢算法,现在开始写博客。
展开
-
C++学习第七天:vector容器(集合)
#include#include#include#includeusing std::string;using std::cout;using std::endl;using std::cin; using std::vector;using std::vector;using std::vector;/*vector类型:同一种类型的对象原创 2014-06-01 10:48:34 · 697 阅读 · 0 评论 -
C++ 第十三天 容器
/* 容器: 接收容器大小形参的构造函数只适用于顺序容器,而关联容器不支持这种初始化。 容器内元素的类型约束(最低要求): 1.元素类型必须支持赋值运算。 2.元素类型的对象必须是可以复制的。 例如:引用不支持一般意义的复制运算,因此没有元素是引用类型的容器。 指定容器元素类型的容器: 在指定容器元素类型时,必须使用空格,例如; vector > lines;原创 2014-07-27 08:33:01 · 360 阅读 · 0 评论 -
C++第十五天泛型算法和迭代器
/* 泛型算法: 泛型算法中,对指定数目的元素做写入运算,或者写到目标迭代器的算法,都不检查目标的大小是否足以存储要写入的元素 流迭代器的限制: 1.不可能从ostream_iterator对象读入,也不可能写道istream_iterator对象中。 2.一旦给ostream_iterator对象赋了一个值,写入就提交了。赋值后,没有办法在改变这个值。此外,ostream原创 2014-07-29 10:25:19 · 647 阅读 · 0 评论 -
C++第十六天 类
/*类: 1.在类内部定义的函数默认为inline,即内联函数。 2.在定义类函数时,加上const成员,表明不能改变其所操作的对象的数据成员,也就是只读,不能修改成员变量。const必须同时出现在声明和定义中。 3.在类定义中,结束类定义需要加分号(;) 4.C++类定义中,C++类定义的风格:成员函数声明定义放在成员变量的前面。 5.C++支持在类定义外部定义成员函数,但是必须在类原创 2014-08-01 08:15:34 · 410 阅读 · 0 评论 -
C++第十九天 面向对象编程
#include#include//继承与组合:// 继承:定义一个类作为另一个类的公用派生类时,派生类应反映与基类“是一种 Is a” 的关系。// 组合:组合关系是“有一个Has a”的关系,通过“有一个”关系而相关的类型暗含有成员关系。//友元关系不能继承,如果基类和派生类都需要访问另一个类,那个类必须特地将访问权限授予基类和每一个派生类。/* 名字冲突:与基类成员同名的派生原创 2014-08-09 10:08:52 · 383 阅读 · 0 评论 -
C++第十八天 重载操作符
#include/*转换操作符:定义将类类型值转变为其他类型值的转换。 转换函数采用如下通用形式: operator type();(注:转换函数必须是成员函数,不能指定返回类型,并且形参必须为空.转换函数一般不应该改变被转换的对象,所以转换操作副通常应定义为const成员)警告: 1.不要定义相互转换的类,例如类Foo具有接受类Bar的对象的构造函数,不要在为类Bar定义到类型F原创 2014-08-08 08:09:41 · 338 阅读 · 0 评论 -
C++第20天 模板与泛型
/*类模板: 以关键字template开头,后接模板形参表。 在函数模板形参表中,关键字typename和class具有相同含义,可以呼唤使用,而且两个关键字都可以在同一模板形参表值哦功能使用,例如: template calc(const T&,const U&); 在模板定义内部指定类型: 如果要在函数模板内部使用类定义类型成员,则必须告诉编译器我们正在使用的名字指的是一原创 2014-08-11 10:15:07 · 442 阅读 · 0 评论 -
C++ 第二十一天 在谈异常
/*异常以类似于将实参传递给函数的方式抛出和捕获。异常可以是可传给非引用的形参的任意类型的对象,这意味这必须能够辅助该类类型的对象。 不存在数组或函数类型的异常。如果抛出一个数组,被抛出的对象转换为指向数组首元素地址,类似抛出一个函数,函数被转化为指向该函数的指针。 执行throw的时候,不会执行跟在truw后面的语句,而是将控制从throw转移到匹配的catch,该catch可以是同一函数原创 2014-08-12 15:37:24 · 472 阅读 · 0 评论 -
C++第二十三天 多重继承与虚继承
/*多重继承与虚继承: 定义多重继承: 派生类继承的基类可以通过使用逗号(,)隔开多个基类,派生类为每个基类显式或隐式指定访问级别(public,private,protected)。对于类可以继承的基类的数目没有语言强加限制,但在一个给定派生列表中,一个基类只能出现一次。 派生类的构造次序: 基类构造函数按照基类构造函数在派生列表中的出现次序调用。从最终基类开始初始化。构造函原创 2014-08-15 09:23:08 · 554 阅读 · 0 评论 -
C++第二十二天命名空间
/*命名空间: 命名空间的定义: namespace namespace_name{ //...类、函数变量的定义以及其他的命名空间 } 在命名空间定义的名字可以被命名空间的中其他成员直接访问,命名空间外部的代码必须指出名字定义在哪个命名空间中: 例如: namespace_name::类/函数/变量。 也可以通过编写using声明来获得对已经直到的经常使用的名字原创 2014-08-15 09:23:00 · 495 阅读 · 0 评论 -
数的计算
/*题目描述 Description我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:1. 不作任何处理;2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.输入描述 Input原创 2014-08-27 15:55:55 · 588 阅读 · 0 评论 -
C++第十七天 复制控制
/*复制控制:复制构造函数、赋值操作符和析构函数。 复制构造函数:是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。当定义一个对象并用一个同类型的对象对它进行初始化时,将显示使用复制构造函数。当将该类型的对象传递给函数或从函数返回该类型的对象时,将隐式使用复制构造函数 析构函数:是构造函数的互补:当对象超出作用域或动态分配的对象被删除时,将自动应用析构函数。析原创 2014-08-02 10:04:02 · 449 阅读 · 0 评论 -
C++第十四天 关联容器
/* pair类型: pair类型就是一个key-value对,该类型就存储两个值,分别是v1、v2 关联容器: 支持通过键来高效地查找和读取元素的容器,其实就是类似map的数据结构 map类型: 在使用关联容器时,它的键不但有一个类型,而且还有一个相关的比较函数,默认情况下,标准库使用键类型定义的<操作符来实现键的比较(与Java的键必须实现comparaTo/Compar原创 2014-07-28 08:08:28 · 365 阅读 · 0 评论 -
C++学习第七天:迭代器
C++学习第七天:迭代器阿斯顿飞原创 2014-06-01 16:40:20 · 552 阅读 · 0 评论 -
C++学习第九天:初次接触C++数组
/* 数组:数组定义中的类型名可以是内置数据类型或类类型,数组元素的类型还可以是任意的复合类型。 没有所有元素都是引用的数组。(这句话怎么理解?是这样吗:C++中不存在一个数组,这个数组的所有元素都是引用) 数组定义和初始化: 数组的维数必须用值大于1的常量表达式定义。此常量表达式只能包含整型字面常量、枚举常量或者用常量表达式初始化的整型const对象。 非const变量以原创 2014-06-04 09:28:01 · 434 阅读 · 0 评论 -
C++学习第一天
C++学习第一天 开始学习C++的第一天,第一天学习内容有: 在ubuntu命令行下编译C++程序,写了课后的那些入门练习题,运行结果。 在编写C++代码是有点小郁闷就是,刚开始写标准输入输出的时候,在输出内容结束后,调用endl这个特殊值,老是忘记加std::原创 2014-05-22 17:16:54 · 424 阅读 · 0 评论 -
C++学习第二、第三天
C++学习第二、第三天原创 2014-05-24 15:42:38 · 432 阅读 · 0 评论 -
特殊的数字 C++练习
问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。原创 2014-05-23 10:28:06 · 672 阅读 · 0 评论 -
C++学习第四天
C++学习第四天原创 2014-05-26 21:45:29 · 429 阅读 · 0 评论 -
C++第十天
指针:指针是指向某种类型对象的复合数据类型,或者称指针就是存放对象的地址。 访问指针的值:使用解引用操作符 * 和自增操作符++,与在迭代器上的用法类似。 取址操作符:&操作符,获取一个变量的地址。 指针的定义和初始化: C++语言使用*符号把一个标识符声明为指针,例如: //声明指针的风格之一 vector *pevec; int *ip1,*ip2;原创 2014-07-22 15:32:14 · 426 阅读 · 0 评论 -
C++第十一天 表达式
箭头操作符(->): 指向对象的一个指针,通过解引用获取该对象,然后使用点操作符(object.opterator())调用对象的成员函数。例如: ClassName *sp=classObject; (*sp).operator(); 箭头操作符则一步获取该对象和使用该对象的成员函数,例如: sp->operator(); sizeof操作符 sizeof操作符原创 2014-07-23 10:34:28 · 393 阅读 · 0 评论 -
C++学习第六天:string
C++学习第六天:string原创 2014-05-31 15:10:19 · 589 阅读 · 0 评论 -
C++ 第十二天
/*内联函数避免函数调用的开销: 内联函数: 在函数返回类型前加上关键字inline就可以将该函数指定为内联函数。 一般来说,内联机制使用于优化小的、只有几行的而且经常被调用的函数。大多数的比恩一起都不支持递归函数的内联,一个1200行的函数也不太可能在调用点内联展开。 内联函数应该在头文件中定义。 编译器隐式地将在类内的成员杉树当作内联函数。C++函数重载: 相同函数名、相原创 2014-07-25 10:20:07 · 479 阅读 · 0 评论 -
C++学习第八天:bitset类
C++学习第八天:bitset类bitset类型:标准库中处理位集的类。初始化bitset对象的方法,其中n是代表几位位数: bitset b; b有n位,每一位都是0 bitset b(u); b是unsigned long型u的一个副本 bitset b(s); b是字符串对象s中含有的位串的副本 bitset b(s,po原创 2014-06-02 11:00:21 · 573 阅读 · 0 评论 -
大数减法、加法、乘法
#include#includeusing std::string;using std::cin;using std::cout;using std::endl;//字符转换为字面数字int CharToInt(char value){ return value-'0';} //打印结果函数void print(int* array,int length ){ i原创 2014-09-14 16:51:13 · 542 阅读 · 0 评论