C++知识整理四

前言

  哈哈哈,小编又来了!

重点

  1.静态成员

  如果类的数据成员或成员函数使用关键字static进行修饰,这样的成员称为静态数据成员或静态成员函数,统称为静态成员。

  如果在类中仅对静态数据成员进行声明,则必须在文件作用域的某个地方进行定义。在进行初始化时,必须进行成员名限定。例如:

class Test {
	static int x;             //静态数据成员
}

int Test:: x=25;     //初始化静态数据成员

  注意:1.静态成员是类的成员,不是对象的成员

     2.静态成员函数不能直接访问非静态函数

  2.友元函数

  友元函数可以存取私有成员、公有成员和保护成员。

  分享一下我们的小总结:friend写在谁里面,谁就可以被访问;friend写在Two里面,Two就可以被访问,One是Two的友元函数,Two里面的函数名是One里的。

  友元函数不具有传递性和交换性,同时也不是类的成员函数。

  3.const对象

  常量成员包括常量数据成员,静态常数据成员和常引用。静态常数据成员仍保留静态成员特征,需要在类外进行初始化,常数据成员和常引用只能通过初始化列表来获得初值。

class Base{
	private:
		int x;
		const int a;          //常数据成员只能通过初始化列表来获得初值
		static const int b;      //静态常数据成员
		const int& r;         //常引用只能通过初始化列表来获得初值
}

const int Base::b=25;            //静态常数据成员在类外进行初始化
Base::Base(int i,int j):x(i),a(j),r(x)  {}      //初始化列表

  4.构造函数(析构函数)是不被继承的,所以一个派生类只能调用他的直接基类的构造函数。当定义派生类的一个对象时,首先调用基类的构造函数,对基类成员进行初始化,然后执行派生类的构造函数。析构函数的执行顺序和执行构造函数时的顺序正好相反。

  5.派生

  1)公有派生:

基类派生类
公有公有
保护保护
不可访问和私有不可访问

  2)私有派生:

基类派生类
公有私有
保护私有
不可访问和私有不可访问

  3)保护派生:

基类派生类
公有保护
保护私有
不可访问和私有不可访问

  6.向量

  向量中存储元素的多少可以在运行中根据需要动态的增长或缩小。

vector <type> name;        //定义type的向量空表
vector <type> name(length);      //定义具有length个type的向量,元素初始化为0
vector <type> name(length,a);         //定义具有length个type的向量,元素初始化为a
vector <type> name1(name);          //使用已定义的向量name构造向量name1

  用iterator声明向量的正向泛型指针的一般形式为:

vector <type> :: iterator 泛型指针名;

  声明逆向泛型指针使用reverse _ iterator,声明的方法如下:

vector <数据类型> :: reverse _ iterator 指针名;

  7.访问向量容量信息的方法

size():返回当前向量中已经存放的对象的个数
max_size():返回向量可以容纳最多对象的个数
capacity():返回无需再次分配内存就能容纳的对象个数。当存储空间已满,又增加元素的时候,在原来的基础上自动翻倍扩充

max_size()>=capacity()>=size()

empty():当前向量为空时,返回true值

  8.纯虚函数

  一个类可以说明多个纯虚函数,包含有纯虚函数的类称为抽象类。从一个抽象类派生的类必须提供纯虚函数的实现代码,或在该派生类中仍将它说明为纯虚函数。

virtual void area()=0;       //纯虚函数
virtual void area() { }       //空的虚函数

  9.运算符重载

  运算符重载的实质就是函数重载

  类运算符:作为类的成员函数的重载运算符;友元运算符:作为类的友元重载运算符

  . :: * ?: 这四个不可以重载

  经过重载,运算符不改变原有的优先级,操作数数目和结合性

  类运算符比友元运算符少一个参数,因为成员函数具有this指针

总结

  C++的总结将会告一段落,提一点学习的建议吧:看书的时候一定要看书上的代码,对于理解文本性的内容很有帮助,希望明年的现在,大家都有一个好的成果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值