Re:从零开始的逆向笔记03day

2-C++语言

概述

带有函数的结构体称为类

编译器默认传入this指针

当前类名称:要继承类名称

Teacher(int Age, int Sex, int Level):Person(Age, Sex) {
    this->Level = Level;
}
访问控制

在struct中所有成员默认的属性是public,而在class中则相反

父类的私有成员是可以被继承的,但是也不能直接访问

引用

int& ref = x;

引用必须赋初始值,且只能指向一个变量,从一而终

对引用赋值,是对其指向的变量赋值,而不是修改引用本身的值

多态

虚函数的作用:函数传入的对象是子类就调用子类的,是父类就调用父类的

多态是指让父类的指针有多种形态

没有方法体的函数我们称之为纯虚函数

含有纯虚函数的类被称之为抽象类,不能创建对象,定义一种标准

class Base {
public:
    virtual int Plus() = 0;
}
虚表、重载与模板

有虚函数时对象的数据宽度就会比其原来多出4个字节,这四个字节我们称之为虚表

运算符重载:...... operator

template<class 形参名, class 形参名, ...>
返回类型 函数名(参数列表) {
    函数体;
}
对象拷贝

第二个对象传入的参数是第一对象,这就是默认拷贝析构函数,其本质是内存复制

拷贝构造函数只是会拷贝当前指针成员的值,并不会拷贝指针成员指向的内容, 这种拷贝方式称之为浅拷贝。这种情况下,还将指针指向的内存地址复制过来,并自动申请一块新的内存提供,这种方式称之为深拷贝

如果不需要深拷贝,就不要自己添加拷贝构造函数,因为你添加了拷贝构造函数,那么编译器将不再提供,所有的事情都需要由新添加的函数自己来处理

声明

内部类:两者之间不存在什么特殊关系,也无法访问对方的私有成员

用static声明的全局变量,只有当前函数能访问

出现在类体外的函数定义不能指定static

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值