构造函数
1. 权限
1.1 构造函数权限一般都是 public,也有private 的,比如单例模式。
class A {
public:
static A& getInstance();
setup() { ... }
private:
A();
A(const A& rhs);
...
};
A& A::getInstance()
{
static A a;
return a;
};
1.2 假设有类B如下,为什么 在函数B(const B& b) 中,可以直接获取b的ele元素
class B
{
private:
int ele;
public:
B(const B& b)
{
ele = b.ele;
}
};
一种通俗的理解是: 相同 class 的各个objects 互为 friends (友元)
更本质的理解应该是 封装权限是针对类而言的,而不是针对对象而言的,所以此处可以访问。
2. 返回值
2.1 传递者无需知道接受者是否以reference 形式接受
___ func(A& a)
{
return a;
}
返回值可以填 A 或者 A& ,虽然return 的只是a
3. 内联函数
3.1 在定义前面加inline,而不是声明前面