最近在上面向对象设计与分析这门课,老师在讲C++的相关内容,之前本科也没有系统的学习过C++,所有有些概念很模糊,还有些跟Java混淆了,但因为上课和我的时间比较有限,所以学哪里记哪里,还是会有些琐碎,慢慢来吧,以后有时间再系统学习。
在C++中,类的声明与实现可以写在一起,也可以分开写,先写声明然后在写实现。
声明和实现一起写
先声明,后实现
声明
实现
拷贝构造函数一般会在赋值时被赋值的对象还未创建时被调用,使用上面定义的类进行示例:
在执行Complex c2 = c1时会调用拷贝构造函数,可以在构造对象的同时进行赋值。即传值调用拷贝构造函数。
一、局部变量
两种写法相同,表示变量a的值不能进行改变。
二、常量指针与指针常量
常量指针是指针指向的内容是常量,定义方式如下:
注:
- 常量指针不能通过这个指针改变指向变量的值,但可以通过其他引用改变指向变量的值。
- 常量指针指向的值不能改变,但常量指针可以指向其他地址。
指针常量是指针本身是个常量,不能指向其他地址。定义方式如下:
==注:==指针常量指向的地址不能改变,但指向地址中的值可以通过其他指向该地址的指针改变。
指向常量的常指针指针指向的的地址不能改变,并且不能通过该指针更改该地址存储的值。但可以通过其他指向该地址的指针改变值。
三、修饰函数参数
const修饰函数参数也分为三种情况:
- 防止修改指针指向的内容
- 防止修改指针指向的地址
3.防止修改指针指向的地址和指向地址中的内容
四、修饰函数的返回值
如果给以指针传递方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。
五、修饰全局变量
使用全局变量时,我们应该尽量的使用const修饰符进行修饰,这样防止不必要的人为修改,使用的方法与局部变量是相同。
&相当于取别名,对引用的操作与对变量直接操作完全一样。用法如下:
-
在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。
-
用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。
-
引用与指针的区别是,指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。