基础学习
文章平均质量分 60
weixin_37629738
这个作者很懒,什么都没留下…
展开
-
北大 C++ 2.5 内联成员函数与重载成员函数
内联成员函数与 重载成员函数1. 内联成员函数为了取消额外的调用开销方法一:inline + 成员函数方法二:整个函数体出现在类定义内部class B{ inline void func1(); void func2(){ …………}; //这个分号有或者没有都没有关系。}; void B::func原创 2017-02-26 19:42:51 · 167 阅读 · 0 评论 -
C++返回值优化
与临时对象的斗争(上)http://blog.csdn.net/sad_sugar/article/details/50569434http://www.cnblogs.com/xkfz007/articles/2506022.htmlhttp://www.cnblogs.com/hazir/archive/2012/04/18/2456144.html转载 2017-02-27 08:44:38 · 127 阅读 · 0 评论 -
北大 C++ 8.1 STL概述
链接:http://note.youdao.com/noteshare?id=8e05e7c1a080569125581f3572fd06b9原创 2017-03-12 12:08:08 · 254 阅读 · 0 评论 -
北大 C++ 8.2 STL概述(续)
文章链接:点击打开链接原创 2017-03-12 12:46:40 · 204 阅读 · 0 评论 -
北大 C++ 8.3 vector容器
文章链接:点击打开链接原创 2017-03-12 13:03:19 · 136 阅读 · 0 评论 -
北大 C++ 8.5 函数对象
文章链接:点击打开链接原创 2017-03-12 14:23:13 · 156 阅读 · 0 评论 -
北大 C++ 8.4 list and deque
文章链接:点击打开链接原创 2017-03-12 13:21:04 · 165 阅读 · 0 评论 -
北大 C++ 5.1 继承与派生
其他部分在有道云笔记:有道云笔记//Code is tested based on Visual Studio 2015.#include #include #include using namespace std;class CStudent {private: string name; string id; char gender; int age;public:原创 2017-03-02 16:14:09 · 173 阅读 · 0 评论 -
北大 C++ 4.6 自加自减运算符的重载
有道云笔记其他部分在有道云笔记//Code is tested based on Visual Studio 2015.#include #include using namespace std;class CDemo {private: int n;public: CDemo(int i=0) :n(i) {} CDemo operator++(); CDe原创 2017-03-02 15:32:43 · 228 阅读 · 0 评论 -
北大 C++ 4.5 流插入和流输出运算符重载
其余部分在有道云笔记里面点击打开链接//Code is tested based on Visual Studio 2015.#include #include #include using namespace std;class Complex {private: double real, imag;public: Complex(double x, do原创 2017-03-02 14:55:42 · 279 阅读 · 0 评论 -
北大 C++ 4.3 运算符重载为友元
运算符重载为友元通常,将运算符重载为类的成员函数重载为友元函数的情况: 成员函数不能满足使用要求 普通函数,又不能访问类的私有成员 一方面要让他像普通函数来完成一些工程,但是另外一方面呢,又希望他能够访问类的私有成员。 class Complex{ double real,imag; public:原创 2017-03-02 14:06:07 · 307 阅读 · 0 评论 -
北大 C++ 4.4 运算符重载实例
长度可变的数组类型//code is tested based on Visual Studio 2015#include #include using namespace std;class CArray{ int size; int *ptr;public: CArray(int s = 0); //构造函数 CArray(CArray & a); //原创 2017-03-02 14:01:15 · 197 阅读 · 0 评论 -
北大 C++ 3.8 常量对象、常量成员函数和常引用
由于排版还是有道云笔记方便,所以我直接把word里面的排版复制到有道云笔记里面。实在是受不了CSDN的排版,总是把我的排版弄错。有道云笔记原创 2017-02-28 19:11:41 · 161 阅读 · 0 评论 -
北大 C++ 3.4 静态成员变量和静态成员函数
3.4 静态成员变量和静态成员函数 静态成员:在说明前面加了static关键字的成员。class CRectangle{ private: intw,h; staticint nTotalArea; staticint nTotalNumber; public:原创 2017-02-27 23:08:05 · 220 阅读 · 0 评论 -
北大 C++ 1.1 函数指针
函数指针:eg.1#include void PrintSmall(int a,int b){ if(a<b) printf("%d\n",a); else printf("%d\n",b);}int main(){ int x=4,y=5; void (*pf)(int,int); pf=PrintSmall; pf(x,y);原创 2017-02-25 16:49:56 · 221 阅读 · 0 评论 -
北大 C++ 4.2 赋值运算符重载
有道云笔记有一份听课笔记#include #include using namespace std;class String {private: char *str;public: String() :str(NULL) { }//构造函数,初始化str为NULL String(String & s); //复制构造函数 const char* c_str() { retu原创 2017-02-28 21:42:18 · 137 阅读 · 0 评论 -
北大 C++ 4.1 运算符重载
运算符重载 C++预定义了表示对数据的运算+,-,*,/,^,&,~,!,|,=,>,!=,==只能用于基本的数据类型 整型,实型,字符型,逻辑型……C++提供了数据抽象的手段: 用户自己定义数据类型 –类 ·调用累的成员函数à操作它的对象类的成员函数à操作对象时,很不方便 ·在数学上两个复数可以原创 2017-02-28 20:30:34 · 199 阅读 · 0 评论 -
北大 C++ 3.1 复制构造函数
复制构造函数1.基本概念1.1. 只有一个参数,即对同类对象的引用。1.2. 形如 X::X(X&)或 X::X(const X&),二者选一 后者能以常量对象作为参数,前者不可以。1.3. 如果没有定义复制构造函数,那么编译器生成默认复制构造函数。默认的复制构造函数完成复制功能。 class Complex { private:原创 2017-02-27 08:53:05 · 162 阅读 · 0 评论 -
北大 C++ 3.7 this指针
this指针C++程序到C程序的翻译class Ccar{ public: intprice; voidSetPrice(int p);}; void Ccar::SetPrice(int p){ price= p;} int main(){ Ccarcar;原创 2017-02-28 12:36:11 · 155 阅读 · 0 评论 -
北大 C++ 3.6 友元
因为有图片,所以放在有道云笔记有道云笔记原创 2017-02-28 11:59:13 · 135 阅读 · 0 评论 -
北大 C++ 3.5 成员对象和封闭类
因为有图片,所以放在有道云笔记原创 2017-02-28 11:58:28 · 245 阅读 · 0 评论 -
北大 C++ 3.3 析构函数(Destructor)
析构函数(Destructor)先回顾一下构造函数 成员函数的一种 名字与类名相同 可以有参数,不能有返回值 可以有多个构造函数用来初始化对象 析构函数 成员函数的一种 名字与类名相同 在前面加’~’ 没有参数和返回值 一个类最多只有一个析原创 2017-02-27 23:04:56 · 262 阅读 · 0 评论 -
北大 C++ 3.2 类型转换构造函数
类型转换构造函数目的: 实现类型的自动转换特点: 只有一个参数 不是复制构造函数编译系统会自动调用—>转换构造函数—>建立一个临时对象/临时变量 class Complex { public: doublereal,imag; Complex(inti){原创 2017-02-27 23:04:23 · 167 阅读 · 0 评论 -
北大 C++ 2.6 构造函数
2.6构造函数构造函数的定义----成员函数的一种l 名字和类相同,可以有参数,不能有返回值(void也不行)l 作用是对对象进行初始化,给成员变量赋初值l 如果定义类时没有写构造函数,则编译器生成一个默认的无参数的构造函数 默认构造函数无参数,不做任何操作l 如果定义了构造函数,则编译器不生成默认的无参数的构造函数l 对象生成时构造函数自动被原创 2017-02-26 20:28:25 · 141 阅读 · 0 评论 -
北大C++ 1.3 位运算
位运算C/C++ 提供了6种位运算。&按位与(双目)|按位或(双目)^按位异或(双目)~按位非(单目)左移(双目)>>右移(双目)1.通常用来将某变量中的某些位清0且同时保留其他位不变。\也可以用来获取某变量中的某一位。n &= 0xf0 mea翻译 2017-02-25 18:00:23 · 193 阅读 · 0 评论 -
北大 C++ 1.2 命令行参数
命令行参数#include int main(int argc,char* argv[]){ int i; for(i=0;i<argc;i++){ printf("%s\n",argv[i]); } return 0;}当输入的参数本身有空格的时候,要用双引号括起来。例如:原创 2017-02-25 17:15:20 · 237 阅读 · 0 评论 -
北大 C++ 1.4 引用
引用1.下面的写法定义了一个引用,并将其初始化位引用某个变量。类型名 & 引用名 = 某变量名eg.int n = 4;int & r = n; //r 引用了 n,r的类型是 int &2. 某个变量的引用,等价于这个变量,相当于该变量的一个别名。注意的地方:定义引用时候一定要将其初始化成引用某个变量。初始化后,它就一直引用该变量,不会再引起原创 2017-02-25 18:10:01 · 159 阅读 · 0 评论 -
北大 C++ 1.5 CONST
CONST学了c++,多用const,少用define,因为const是有类型的,可以有类型检查。1) 定义常量const int MAX_VAL = 23;const double Pi = 3.14;const char * SCHOOL_NAME = "Peking University";2) 定义常量指针不可通过常量指针修改其指向的内容原创 2017-02-25 20:12:32 · 190 阅读 · 0 评论 -
北大 C++ 1.6 动态内存分配
动态内存分配1. new运算符1. 动态分配一个变量:P = new T;其中T是任意类型名,P是类型为T*的指针。动态分配出一片大小为sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给P。比如:int *pn;pn = new int;*pn = 5;2. 分配一个数组P = new T[N];原创 2017-02-25 20:50:24 · 238 阅读 · 0 评论 -
北大 C++ 1.7 内联函数、函数重载和函数缺省参数
内联函数、函数重载和函数缺省参数1. 内联函数函数调用是有时间开销的(这是因为破坏了局部性,调用一个函数的时候,要把参数放到栈里面去,也要把参数放到栈里面去,然后执行完以后,还要从栈里面取出返回。然后再跳转到返回地址去执行。这需要几条语句的。)。如果函数本身只有几条语句,执行非常快,而且函数被反复执行很多次,相比之下调用函数所产生的这个开销就会显得比较大。为了减少函数调用的原创 2017-02-25 22:40:15 · 223 阅读 · 0 评论 -
北大 C++ 2.1 面向对象程序设计方法
面向对象程序设计方法原创 2017-02-25 23:01:19 · 278 阅读 · 0 评论 -
北大 c++ 2.2 C++语言历史
ALGOL --> CPL (C一开始是cambridge剑桥的意思,后来伦敦大学来了,改成了Combined ProgrammingLanguage)C++一开始基于Bjarne做博士的时候一些程序撰写的经验。simula已经有面向对象的方法了,但是速度太慢了。原创 2017-02-26 15:20:35 · 191 阅读 · 0 评论 -
北大 C++ 2.3 从客观事物抽象出类的例子
1.对象之间可以使用=进行赋值。不能用==,!=,>,=,重载。 2. 访问类的成员变量和成员函数。 2.1)对象名.成员名 2.2)指针->成员名Crectangle r1,r2;Crectangle *p1 = &r1;Crectangle *p2 = &r2;p1->r1 = 1;p2->Init(3,4); 2.3)引原创 2017-02-26 18:21:47 · 340 阅读 · 0 评论 -
北大 C++ 2.4 类成员的可访问范围
类成员的可访问范围 private 指定私有成员,只能在成员函数内被访问 public 指定公有成员,可以再任何地方被访问 protected 指定保护成员,我们在讲继承的时候再来讲。 三种关键字出现的次数和先后顺序都没有任何限制。class className{ private: 私有属性和函原创 2017-02-26 18:56:12 · 241 阅读 · 0 评论