C++学习总结-1

我的确发现Java和c++有太多类似的地方,尽管写的方式不同,但很多思想完全相同,甚至很多特性的名字也是相同的。
1. 函数重载规则:
函数名相同
参数个数不同,参数顺序不同,参数类型不同,均可构成重载。
返回值类型不同不可以构成重载
2. 一个字符多种用处的现象叫做重载
3. c++可以为自定义数据类型重载运算符,实现构造数据类型可以像基本数据类型一样的运算特性。
4. 函数可以有默认参数
5. 引用即别名,不分配内存,与被引用的变量有相同的地址,声明的时候必须初始化,声明之后不能更改。可对引用进行多次引用,结果是某一变量具有多个别名。
6. 内联函数避免了调用时的额外开销,但由于函数体在代码段会出现多个副本,会增加代码段的空间,本质是以牺牲代码段空间为代价提高程序的运行效率,适用于函数体很小且被频繁调用。
7. const定义的常量称为常变量,常用于取代#define宏常量。const修饰函数时,放在声明之后,实现体之前,意义是承诺在本函数内部不会修改类内的数据成员,不会调用其他非const函数。const修饰的对象,只能调用const成员函数,可访问const和非const成员但不能修改。
8. 为什么要引入namespace:
是引入的一种避免命名冲突的一种机制,如果用多家开发商的类库,在事先没有约定的情况下,两套类库可能存在同名的函数或是全局变量而产生冲突。
9.this指针是系统在创建对象时,默认生成的指向当前对象的指针。目的是避免构造函数的入参与成员名相同。
10.静态成员是属于整个类的而不是某个对象,只存储一份供所有对象共用。
11.在需要定义不是类一部分而又需要频繁访问类的数据成员的函数时,可以将其定义为该类的友元函数,除了友元函数还有友元类,称为友元类,两者统称友元。友元函数可以直接访问类的私有成员是定义在类外的普通函数,但需要在类的定义中加以声明,只需在友元的名称前加上关键字friend。友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息。
12.多态:同一操作作用于不同的对象,可以有不同的解,产生不同的结果。在运行时可以通过指向基类的指针,来调用实现派生类中的方法。
13.虚函数是在基类中使用关键字virtual声明的函数,在派生类中重新定义基类中的虚函数时,会告诉编译器不要静态链接到该函数。我们想实现的是在程序中的任一点可以根据所调用对象类型来选择调用的函数,这种操作叫做动态链接。
14.在基类中不能对虚函数给出有意义的实现但想在基类中定义,以便在派生类中更好适用于对象时,可用纯虚函数。
virtual int sum()=0;
=0告诉编译器函数没有主体。
15.接口描述了类的行为和功能,但不需特定实现。c++接口用抽象类实现,如果一个类中至少有一个纯虚函数,则这个类就是抽象类。不能用于实例化对象,只能作为接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水木流年追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值