C++知识点

本文介绍了C++中的引用特性,包括必须初始化、不可改变指向及不能用常量或临时值初始化。同时,讲解了访问权限的public、protected和private的区别。接着,详细阐述了构造函数的作用、类型及默认构造函数的生成规则。此外,提到了this指针的概念及其用途,以及拷贝构造函数的调用场景和默认行为。最后,讨论了私有构造函数和拷贝构造函数对对象创建的影响。
摘要由CSDN通过智能技术生成

一.引用

(1)必须初始化

(2)不能改变指向

(3)普通使用时,不能用常量或临时值来进行初始化

注意:引用与指针的区别

1.不存在空引用,引用必须连接到一块合法的内存。指针可以是空指针。

2.一旦引用被初始化为一个对象,就不能被指向到另一个对象。 指针可以在任何时候指向到另一个对象。

3.  引用必须在创建时被初始化。指针可以在任何时间被赋值。

二.访问权限

public:公有权限 程序的任何位置都可以使用

protected:受保护的,派生类和类的内部使用。什么叫派生类?等讲完继承才能用。

private:私有的,只有类的内部可以使用。

三.函数

1. 构造函数

(1)在创建对象时会自动调用的函数,主要作用是在创建对象时初始化对象,为对象的成员变量赋值.

(2)特点:a.名字必须与类同名 无返回值 可能有参数

                    b.访问权限一般是public,一旦私有构造函数,那么在类的外部将不能创建对象。

                    c.用户不能调用构造函数 只有在类对象创建时 自动调用 

                    d.实例化对象时,只用到一个构造函数

(3)显式和隐式

a.默认构造函数,当没有显式的定义构造函数时,系统会自动生成一个默认构造函数.

b.没有参数也没有逻辑;仅仅为了有构造函数而存在。

c.一旦显式的定义了构造函数,将不会生成默认构造函数.

(4).构造函数的初始化列表

格式:成员变量名(初始值)

注意:

初始化成员列表的顺序应该和成员声明的顺序保持一致,不建议使用成员初始化其他成员

成员的初始化顺序,是按照声明的顺序进行,和初始化列表的顺序没有关系。

2.this指针

(1)是一个指针,指向对象本身

(2)this只能在类的内部使用

(3)可以声明,不能创建对象

3.拷贝构造函数

(1)使用一个对象初始化另一个对象的时候调用拷贝构造,拷贝构造函数的参数列表必须是 const 类名 &对象名。

(2)默认拷贝构造函数:a.将成员变量逐个赋值

                                           b.有显示的,不会调用默认拷贝

(3)拷贝构造函数调用的三种情况:

a.程序中需要创建一个新对象 并用另一个同类的对象对它初始化

b.当函数的参数为类的对象时,是调用拷贝构造函数,引用的时候不调用拷贝构造,因为指向的是同一个对象。

c.函数的返回值为类对象;如果返回是栈对象,不调用拷贝构造;返回的是堆对象,调用拷贝构造。

(4)私有构造函数:不能在类的外部创建对象

         私有拷贝构造函数:不能在类的外部复制对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值