刺猬在天冷时围抱取暖,但保持一定距|

jinganglang567

园龄:4年5个月粉丝:0关注:20

随笔分类 -  c++

纯虚函数和抽象类
摘要:纯虚函数和抽象类 纯虚函数是一种特殊的虚函数,在某些情况下,基类中不能对虚函数给出有意义的实现,把它声明为纯虚函数。 纯虚函数只有函数名、参数和返回值类型,没有函数体,具体实现留给该派生类去做。 语法: virtual 返回值类型 函数名 (参数列表)=0; 纯虚函数在基类中为派生类保留一个函数的名
22
0
0
析构派生类
摘要:析构派生类 构造函数不能继承,创建派生类对象时,先执行基类构造函数,再执行派生类构造函数。 析构函数不能继承,而销毁派生类对象时,先执行派生类析构函数,再执行基类析构函数。 派生类的析构函数在执行完后,会自动执行基类的析构函数。 如果手工的调用派生类的析构函数,也会自动调用基类的析构函数。 析构派生
50
0
1
多态的对象模型
摘要:多态的对象模型 类的普通成员函数的地址是静态的,在编译阶段已指定。 如果基类中有虚函数,对象的内存模型中有一个虚函数表,表中存放了基类的函数名和地址。 如果派生类中重定义了基类的虚函数,创建派生类对象时,将用派生类的函数取代虚函数表中基类的函数。 C++中的多态分为两种:静态多态与动态多态。 静态多
13
0
1
多态
摘要:多态 基类指针只能调用基类的成员函数,不能调用派生类的成员函数。 如果在基类的成员函数前加virtual 关键字,把它声明为虚函数,基类指针就可以调用派生类中同名的成员函数,通过派生类中同名的成员函数,就可以访问派生对象的成员变量。 有了虚函数,基类指针指向基类对象时就使用基类的成员函数和数据,指向
8
0
0
多继承与虚继承
摘要:多继承与虚继承 多继承的语法: class 派生类名 : [继承方式1] 基类名1, [继承方式2] 基类名2,...... { 派生类新增加的成员 }; 虚继承可以解决菱形继承的二义性和数据冗余的问题。 有了多继承,就存在菱形继承,有了菱形继承就有虚继承,增加了复杂性。
7
0
0
继承的对象模型
摘要:继承的对象模型 1)创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数。 2)销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数。如果手工调用派生类的析构函数,也会调用基类的析构函数。 3)创建派生类对象时只会申请一次内存,派生类对象包含了基类对象的内存空间,this指针相同
16
0
0
继承
摘要:继承 继承可以理解为一个类从另一个类获取成员变量和成员函数的过程。 语法: class 派生类名:[继承方式]基类名 { 派生类新增加的成员 }; 被继承的类称为基类或父类,继承的类称为派生类或子类。 继承和派生是一个概念,只是站的角度不同。 派生类除了拥有基类的成员,还可以定义新的成员,以增强其功
21
0
0
重载new&delete运算符
摘要:重载new&delete运算符 重载new和delete运算符的目是为了自定义内存分配的细节。(内存池:快速分配和归还,无碎片) 在C++中,使用new时,编译器做了两件事情: 1)调用标准库函数operator new()分配内存; 2)调用构造函数初始化内存; 使用delete时,也做了两件事情
274
0
0
重载下标运算符
摘要:重载下标运算符 如果对象中有数组,重载下标运算符[],操作对象中的数组将像操作普通数组一样方便。 下标运算符必须以成员函数的形式进行重载。 下标运算符重载函数的语法: 返回值类型 &operator[](参数); 或者: const 返回值类型 &operator[](参数) const; 使用第一
105
0
0
运算符重载
摘要:运算符重载 C++将运算符重载扩展到自定义的数据类型,它可以让对象操作更美观。 例如字符串string用加号(+)拼接、cout用两个左尖括号(<<)输出。 运算符重载函数的语法: 返回值 operator运算符(参数列表); 运算符重载函数的返回值类型要与运算符本身的含义一致。 非成员函数版本的重
27
0
0
友元
摘要:友元 如果要访问类的私有成员变量,调用类的公有成员函数是唯一的办法,而类的私有成员函数则无法访问。 友元提供了另一访问类的私有成员的方案。友元有三种: l 友元全局函数。 l 友元类。 l 友元成员函数。 1)友元全局函数 在友元全局函数中,可以访问另一个类的所有成员。 2)友元类 在友元类所有成员
15
0
0
对象模型
摘要:对象模型 在C语言中,数据和处理数据的操作(函数)是分开的。也就是说,C语言本身没有支持数据和函数之间的关联性。 C++用类描述抽象数据类型(abstract data type,ADT),在类中定义了数据和函数,把数据和函数关联起来。 对象中维护了多个指针表,表中放了成员与地址的对应关系。 C++
20
0
0
静态成员
摘要:静态成员 类的静态成员包括静态成员变量和静态成员函数。 用静态成员可以变量实现多个对象之间的数据共享,比全局变量更安全性。 用 static 关键字把类的成员变量声明为静态,表示它在程序中(不仅是对象)是共享的。 静态成员变量不会在创建对象的时候初始化,必须在程序的全局区用代码清晰的初始化(用范围解
30
0
0
const修饰成员函数
摘要:const修饰成员函数 在类的成员函数后面加const关键字,表示在成员函数中保证不会修改调用对象的成员变量。 注意: 1)mutable可以突破const的限制,被mutable修饰的成员变量,将永远处于可变的状态,在const修饰的函数中,mutable成员也可以被修改。 2)非const成员函
34
0
0
初始化列表
摘要:初始化列表 构造函数的执行可以分成两个阶段:初始化阶段和计算阶段(初始化阶段先于计算阶段)。 l 初始化阶段:全部的成员都会在初始化阶段初始化。 l 计算阶段:一般是指用于执行构造函数体内的赋值操作。 构造函数除了参数列表和函数体之外,还可以有初始化列表。 初始化列表的语法: 类名(形参列表):成员
92
0
0
拷贝构造函数
摘要:拷贝构造函数 用一个已存在的对象创建新的对象,不会调用(普通)构造函数,而是调用拷贝构造函数。 如果类中没有定义拷贝构造函数,编译器将提供一个拷贝构造函数,它的功能是把已存在对象的成员变量赋值给新对象的成员变量。 用一个已存在的对象创建新的对象语法: 类名 新对象名(已存在的对象名); 类名 新对象
33
0
0
构造函数与析构函数
摘要:构造函数和析构函数 **构造函数:**在创建对象时,自动的进行初始化工作。 **析构函数:**在销毁对象前,自动的完成清理工作。 1)构造函数 语法:类名(){......} l 访问权限必须是public。 l 函数名必须与类名相同。 l 没有返回值,不写void。 l 可以有参数,可以重载,可以
50
0
0
使用类
摘要:使用类 1)类的成员函数可以直接访问该类其它的成员函数(可以递归)。 2)类的成员函数可以重载,可以使用默认参数。 3)类指针的用法与结构体指针用法相同。 4)类的成员可以是任意数据类型(类中枚举)。 5)可以为类的成员指定缺省值(C++11标准)。 6)类可以创建对象数组,就像结构体数组一样。 7
14
0
0
类的访问权限
摘要:类的访问权限 类的成员有三种访问权限:public、private和protected,分别表示公有的、私有的和受保护的。 在类的内部(类的成员函数中),无论成员被声明为 public还是private,都可以访问。 在类的外部(定义类的代码之外),只能访问public成员,不能访问 private
210
0
0
内联函数
摘要:内联函数 C++将内联函数的代码组合到程序中,可以提高程序运行的速度。 语法:在函数声明和定义前加上关键字inline。 通常的做法是将函数声明和定义写在一起。 注意: l 内联函数节省时间,但消耗内存。 l 如果函数过大,编译器可能不将其作为内联函数。 l 内联函数不能递归。
18
0
0
  1. 1 look after you louis tomlinson
  2. 2 just hold on louis tomlinson
  3. 3 i can steven cooper
  4. 4 rock me one direction
  5. 5 just can't let her go one direction
  6. 6 this town Niall Horan
  7. 7 cut in love july
  8. 8 nemo 夜愿
  9. 9 in the end Black Veil Brides
  10. 10 glad you came the wanted
  11. 11 chasing the sun the wanted
  12. 12 TAKE MY HAND simple plan
  13. 13 wish i had an angel 夜愿
just hold on - louis tomlinson
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : Sasha Alex Sloan/Eric Rosse

作曲 : Steve Aoki/Louis Tomlinson/Sasha Alex Sloan/Nolan Lambroza/Eric Rosse

Wish that you could build a time machine

So you could see

The things no one can see

Feels like you're standing on the edge

Looking at the stars

And wishing you were them

What do you do when a chapter ends?

Do you close the book and never read it again?

Where do you go when your story's done?

You can be who you were or who you'll become

Oooh

If it all goes wrong

Oooh

Darling just hold on

The sun goes down and it comes back up

The world it turns no matter what

Oooh

If it all goes wrong

Darling just hold on

Oooh

Darling just hold on

Oooh

It's not over until it's all been said

It's not over until your dying breath

So what do you want them to say when you're gone?

That you gave up or that you kept going on?

What do you do when a chapter ends?

Do you close the book and never read it again?

Where do you go when your story's done?

You can be who you were or who you'll become

Oooh

If it all goes wrong

Oooh

Darling just hold on

The sun goes down and it comes back up

The world it turns no matter what

Oooh

If it all goes wrong

Darling just hold on

Oooh

Darling just hold on

Oooh

Oooh

If it all goes wrong

Oooh

Darling just hold on

Oooh

If it all goes wrong

Darling just hold on

点击右上角即可分享
微信分享提示
深色
回顶
收起