面向对象三大特性:
封装、继承、多态
三种访问权限:
public、protect、private
构造类时 struct 和 class 的区别:
struct构造的类默认权限为public
class构造的类默认权限为private
将成员属性设置为私有:
自己控制读写权限
示例:
class people
{
public:
//写权限
void setName(string n)
{
name = n;
}
//读权限
string getName()
{
return name;
}
private:
//成员属性设置为私有
string name;
};
构造函数和析构函数
这两个函数将会被编译器自动调用,完成对象初始化和销毁工作。
如果我们不提供构造和析构,编译器会提供编译器提供的构造函数和析构函数是空实现。
构造函数语法:类名(){}
无返回值、函数名为类名、可以有参数、可以重载、
析构函数语法:~类名(){}
无返回值、函数名为~+类名、没有参数
构造函数:无参构造、带参构造、拷贝构造
默认情况下 这三种构造函数都会提供
当自定义带参构造,便不再提供默认无参构造,但会提供默认拷贝构造。
当自定义拷贝构造,便不再提供所有默认构造。
深拷贝 浅拷贝
?
初始化列表
语法 : 构造函数():属性(值),属性(值)...{ }
示例:
//传统方式初始化
//Person(int a, int b, int c) {
// m_A = a;
// m_B = b;
// m_C = c;
//}
//初始化列表方式初始化
Person(int a, int b, int c) :m_A(a), m_B(b), m_C(c) {}
https://xxetb.xetslk.com/s/1E5tmX
未完待续...