C++

面向过程和面向对象

面向过程(SP):分析实现步骤,编写函数,用函数一个个实现。
面向对象(OOP)将数据结构和对数据结构处理的方法封装成一个个对象

new、delete

  • new 运算符 可以用于创建堆空间
    例如:
    int *p; p=new int;
    char *pStr=new char[50];
  • delete运算符 可以用于释放堆空间
    例如:
    delete p;
    delete [] pStr;
  • 和malloc/free的区别
    1.new/delete会调用构造函数和析构函数分配内存,malloc/free不会
    2.new自动分配内存,并且强制转换;malloc自定义分配大小,并且要自己转换
    3.new/delete是运算符,malloc/free是函数

内联函数(inline)

//提高效率,小代码、频繁使用时使用内联函数
inline int add1(int a, int b)
{
    return a + b;
}

类(class)

//在C++中用class定义的类中,其成员的默认存取权限是private;
//在C++中用struct定义的结构体中,其成员的默认存取权限是public;
class A
{
    void func(); //方法
public:
    int a; //属性或数据成员

};

初始化列表

1.const
2.引用
3.父类构造函数需要形参
4.数据成员是另一个类的对象,这个类构造函数需要形参

const和静态成员

类的静态成员(数据成员和方法成员(函数))不允许调用非静态成员
非静态成员可以调用静态成员
———因为非静态成员依赖对象,有开辟空间
所以在外部,非静态成员不依赖对象可以直接调用

const成员不能调用不允许调用非const成员
非const成员可以调用const成员
——–因为const不能修改

重载、重定义(隐藏)、多态(覆盖)

重载(同一类中,函数名一样,参数不一样)
重定义(1.不同类,函数名一样,参数不一样;或者2.不同类,函数名一样,参数一样,没有virtual)(隐藏掉子类的成员)
多态(不同类,函数名一样,参数一样,子类继承父类,基类函数是虚函数)(覆盖父类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值