C++基础知识 ---- 构造函数

构造函数

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,而不是声明前面

猜你喜欢

转载自blog.csdn.net/l101606022/article/details/81007262