public:类内可以调用,类外可以调用,子承父业
private:类内可以调用,类外不可调用,子不成父业
protected:类内可以调用,类外可以调用,子承父业
C++中struct和class的唯一区别使,struct默认是public
但是class默认是private
成员属性设置为私有的好处:
1.自己可以控制读写的权限
2.对于写 可以检测数据的有效性
C++ 函数参数传递的三种方式 (传参、传地址、传引用)_赫萝的红苹果的博客-CSDN博客_c++函数传址以前没有注意到的一个知识点:
传指针在函数内修改指针的指向并不会影响函数外该指针的指向。
之前我一直用的都是传指针
今后可以尝试传引用
说白了 引用传递我基本还没用过呢!!!
C++函数引用传递(超详细)
提示:应该仅在绝对需要时才使用引用变量。任何时候允许一个函数来改变函数之外的变量,其实都是在创建潜在的调试问题。
对象的初始化和清理
1.构造函数--初始化
构造函数没有返回值,也不用写void
//函数名与类的名称相同
//构造函数可以有参数,可以发生函数重载
//创建对象的时候,构造函数自动调用,只调用一次
2.析构函数--清理
析构函数 清理操作 没有返回值 不写void
//函数名和类名相同,在名称前面加~
//析构函数不可以有参数,不可以重载
什么是函数的重载?
C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。
C++函数重载详解
在使用重载函数时,同名函数的功能应当相同或相近,不要用同一函数名去实现完全不相干的功能,虽然程序也能运行,但可读性不好,使人觉得莫名其妙。
functions in C++ are uniquely identified by both their names and their parameters
– but NOT their return type!
构造函数的分类:
按照参数分类:无参构造(默认构造) 和 有参构造
按照类型分类: 普通构造 和 拷贝构造
拷贝构造:
注意要用常量+引用的方式传进去!!
构造函数的调用方法:
一、括号法:(推荐)
二、显示法
三、隐式转换法