C++ 学习笔记
garrulousabyss
Github: https://github.com/Gogogoforit
展开
-
2017C++基础——网课笔记(54到58)
五十四.对象返回自身五十五. 强化练习,自定义的数组类这个例子呢,一共分为3个文件,分别是:main.cpp#include <iostream>#include "MyArray.h"using namespace std;int main(){ MyArray array1(10); for(int i=0; i<10;i++){ ...原创 2018-04-08 08:00:35 · 624 阅读 · 0 评论 -
2017C++基础——网课笔记(70到72)
七十. 中午回顾(略)七十一. 不建议重载“并且&&”,“或者||”操作符#include <iostream>using namespace std;class Test{public: Test(int value){ this->value = value; } ~Test(){ cout...原创 2018-04-26 06:52:25 · 160 阅读 · 0 评论 -
2017C++基础——网课笔记(73到76)
73到75 是写一个类分为三部分,第一部分MyString.h#ifndef MYSTRING_H#define MYSTRING_H#include <iostream>#include <string.h>using namespace std;class MyString{ public: MyString(); ...原创 2018-04-29 22:35:53 · 148 阅读 · 0 评论 -
2017C++基础——网课笔记(23到26)
二十三. 中午回顾(略)二十四. 面向过程和面向对象(略)二十五. 面向对象求圆的面积和周长#include <iostream>using namespace std;const double PI =3.14;//圆的周长double getCicrcleGirth(double r){ return 2 * PI * r;}//圆的面积double...原创 2018-06-12 06:13:19 · 225 阅读 · 0 评论 -
2017C++基础——网课笔记(27到31)
二十七. 判断两个立方体是否相等原创 2018-06-12 06:14:39 · 178 阅读 · 0 评论 -
2017C++基础——网课笔记(15到18)
十五. 课程回顾和作业1. 命名空间的作用。相当于去限定作用域范围namespace AAA{ int a;}using AAA::a;AAA::a;using namespace AAA;2. c语言的三目运算符,不可以当作左值。这是因为C语言中,三目运算符的结果是个子拷贝。而C++的三目运算符的本质,是当作引用3. const int a;在C++编译器中需要被初始化。因为这是常...原创 2018-06-11 01:55:38 · 326 阅读 · 0 评论 -
2017C++基础——网课笔记(19到22)
十九. 函数重载#include <iostream>using namespace std;//函数的返回值,函数形参列表(参数的个数,参数类型,参数顺序)//函数重载:函数名相同,参数列表不同int func(int a, int b){ cout<<"func1"<<endl; return 0;}int func(i...原创 2018-06-11 09:04:08 · 502 阅读 · 0 评论 -
2017C++基础——网课笔记(92到96)
九十二. 动态联编和静态联编九十三. 虚析构函数#include <iostream>#include <string.h>using namespace std;class A{public: A() { cout<<"A()....."<<endl; this->p = new c...原创 2018-07-10 20:28:45 · 168 阅读 · 0 评论 -
2017C++基础——网课笔记【下】(1到4)
一. 昨日回顾(略)二. 多态的原理1原创 2018-07-10 20:34:16 · 227 阅读 · 0 评论 -
2017C++基础——网课笔记【下】(5到9)
五. vptr指针的分布初始化vptr指针是分布初始化的#include <iostream>using namespace std;class Parent{public: Parent(int a) { cout<<"Parent(int)...."<<endl; this->a = a;...原创 2018-07-11 15:44:40 · 232 阅读 · 0 评论 -
2017C++基础——网课笔记【下】(10到14)
十. 面向抽象类编程——大哥看场子#include <iostream>using namespace std;//大哥的虚衔class BigBrother{public: //会打人 virtual void fightPeople() = 0;};//东方不败class MissDongFang :public BigBrother{pu...原创 2018-07-11 19:46:55 · 197 阅读 · 0 评论 -
2017C++基础——网课笔记【下】(15到22)
十五. 作业(略)十六. 昨日回顾(略)十七. 多态案例——几何图形#include <iostream>using namespace std;//----------抽象层----------------------class Shape{public: //打印出图形的基本属性 virtual void show() = 0; //得到图形...原创 2018-07-12 22:41:56 · 279 阅读 · 0 评论 -
2017C++基础——网课笔记【下】(23到29)
二十三. 数组指针和数组类型音频和视频不同步,,,有空在看。二十四. 中午回顾(略)二十五. 函数指针的语法和意义原创 2018-07-12 23:09:00 · 185 阅读 · 0 评论 -
C++语言的常量引用问题
结论:非常量引用的初始值必须为左值,常量引用的初始值可以为左值、右值首先,先看下面一个例子:eg.1#include<iostream>usingnamespace std;int main(){int i =2;double &r =i;return 0;}gcc error: invalid initialization of refere...转载 2018-09-29 21:38:03 · 3019 阅读 · 0 评论 -
2017C++基础——网课笔记(81到84)
八十一. 类的继承方式#include <iostream>using namespace std;//规则1,只要是父类中的private成员,不管是什么继承方式,儿子都访问不了//规则2,如果是公有(public)继承,儿子中的访问控制权限保持不变//规则3,如果是保护(protected)继承,除了父亲中的private成员,在儿子中,都是protected成员//...原创 2018-05-03 01:46:45 · 288 阅读 · 0 评论 -
2017C++基础——网课笔记(89到91)
八十九. 多态的定义和多态的三个必要条件#include <iostream>#include <string>using namespace std;//岳不群class Yuebuqun{public: Yuebuqun(string kongfu) { this->kongfu = kongfu; } ...原创 2018-05-09 01:08:04 · 176 阅读 · 0 评论 -
2017C++基础——网课笔记(1到4)
一. 课程介绍:C++应用领域:1. 系统层软件开发C++的语言本身的高效2.服务器程序开发面向对象,具有较强的抽象和建模能力3.游戏,网络,分布式,云计算效率与建模4. 科学计算二. C++ 中的hello world1.命名空间#include<iostream>这里其实iostream提供一个叫做命名空间的东西,标准的命名空间是std上图是命名空间的意义,如果没有先说明命名空间,...原创 2018-03-31 08:14:20 · 376 阅读 · 6 评论 -
2017C++基础——网课笔记(5到9)
五.三目运算符的加强C++中,三目运算符可以作为左值使用,而在C中,三目运算符只可当作右值,不可当作左值。六.const的增强当我们写const int a=10;的时候,实际上,编译器,是把这个数值和a,放到一个“符号表”里。如果我们对于一个常量取地址,编译器会临时开辟一个空间temp,让这个指针存放这个临时空间的地址。七.枚举的增强C++的枚举类型,只能被赋值枚举类型,而不能像C里面一样,给枚...原创 2018-04-01 02:09:04 · 241 阅读 · 0 评论 -
2017C++基础——网课笔记(10到14)
十. 引用的本质1. 引用所占用的大小,跟指针是相等的。2. 常量需要初始化,引用也要初始化,引用可能本质上是一常量const int a =10;int& a=b;十一.常量指针对于 int array[10]。。array是位于“常量区”的。而int & r=a; 而言,r也是位于常量区,它的*r指向a十二.引用作为函数的返回值这里需要注意一点,当我们把引用作为一个返回值时,这...原创 2018-04-01 06:37:18 · 255 阅读 · 0 评论 -
2017C++基础——网课笔记(32到35)
三十二. 构造和析构(略)三十三. 默认的无参构造函数和析构函数构造函数可以重载析构函数不能重载这两者,如果不写,则是默认的,无参的构造函数,无参的析构函数。但是只要去显式的写了,则系统不会有自动的构造函数哦or析构函数了三十四. 拷贝构造函数1. 拷贝构造函数,会将值一五一十的赋给新的类2. 对于以下两种情况,其实调用的都是t3的拷贝构造函数,这两种写法是等价的//这里当然调用的是t3的拷贝构造...原创 2018-04-02 01:01:18 · 280 阅读 · 0 评论 -
2017C++基础——网课笔记(36到39)
三十六. 拷贝构造函数应用场景1(略)三十七. 拷贝构造函数应用场景2(略)三十八.深拷贝和浅拷贝1. 防止内存泄漏2.防止重复释放内存三十九. 中午回顾...原创 2018-04-02 09:14:14 · 152 阅读 · 0 评论 -
2017C++基础——网课笔记(40到45)
四十. 构造函数的初始化列表1四十一. 构造函数的初始化列表1(略)四十二.强化练习1(略)四十三.强化练习2四十四.new和delete1(略)四十五.new和delete2这里,我们必须对《new与malloc》,《delete与free》这两组关系有比较清晰的认识delete也是类似,delete会做的事,事先去触发析构函数,再去销毁对象。而与此同时,free本身,只是去销毁对象,释放空间。...原创 2018-04-03 00:52:01 · 240 阅读 · 0 评论 -
2017C++基础——网课笔记(67到69)
六十七. 自定义的数组类第一个文件: MyArray.h#ifndef MYARRAY_H#define MYARRAY_Husing namespace std;class MyArray{ public: MyArray(); MyArray(int len); MyArray(const MyArray & anot...原创 2018-04-22 04:39:16 · 148 阅读 · 0 评论 -
2017C++基础——网课笔记(46到49)
四十六.静态成员变量和静态成员函数class Box{public: Box(int l, int w) { length = l; width= w; } int volume() { cout<<"高度是"<<height<<endl; ...原创 2018-04-05 23:35:48 · 168 阅读 · 0 评论 -
2017C++基础——网课笔记(50到53)
五十.昨日回顾1. 对一个类而言,当一个成员变量是指针型的时候,这个时候一定注意。此时,我们不能再使用类的默认拷贝构造函数,因为此时是浅拷贝。。。而必须显式的去提供一个拷贝构造函数,来完成深拷贝动作。Teacher(const Teacher& another){ m_id=another.m_id; m_name=another.m_name; //深拷贝动作 ...原创 2018-04-06 06:39:57 · 177 阅读 · 0 评论 -
2017C++基础——网课笔记(59到62)
五十九. 友元类和友元的关系性质#include <iostream>using namespace std;class A{public: A(int a){ this->a = a; } void printA(){ cout<<"a= "<<this->a<<en...原创 2018-04-19 05:23:00 · 194 阅读 · 0 评论 -
2017C++基础——网课笔记(77到80)
七十七. 昨日回顾七十八. 类与类之间的关系#include <iostream>using namespace std;class A{public: void func(){ cout<<"funcA, a="<<a<<endl; } int a;};//类B拥有类A的成员变量, B h...原创 2018-05-01 08:34:57 · 169 阅读 · 0 评论 -
2017C++基础——网课笔记(63到66)
六十三. 左移右移操作符#include <iostream>using namespace std;class Complex{public: Complex(int a,int b) { this->a = a; this->b = b; } void printComplex() {...原创 2018-04-20 07:56:07 · 177 阅读 · 0 评论 -
2017C++基础——网课笔记(85到88)
八十五. 父类和子类出现重名变量#include <iostream>using namespace std;class Parent{public: Parent(int a) { this->a = a; } int getA() { return a; } int a;};...原创 2018-05-09 00:35:05 · 307 阅读 · 0 评论 -
在sort()函数中使用greater()和less()
#include<iostream> #include<algorithm>//因为用了sort()函数 #include<functional>//因为用了greater<int>() using namespace std; void main() { int a[]={3,1,4,2,5}; ...转载 2019-09-28 22:19:23 · 2483 阅读 · 0 评论