码迷,mamicode.com
首页 > 编程语言 > 详细

C++---类成员变量定义为引用

时间:2019-05-04 00:38:23      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:out   iostream   bsp   class   占用   初始   space   c++   变量   

摘要:类成员变量是可以定义为引用类型的,但是我们需要注意一下用法

note1:在类中定义引用变量, 必须要在初始化列表中初始化该成员变量(const 类型数据成员也必须在初始化列表中进行初始化)

#include <iostream>
using namespace std;

class A {
public:
    A(int k):a(n){  // 必须要在初始化列表中进行初始化
        n = k;
        cout << a <<endl;
    }
    int get() const {
        return n+1;
    }
private:
    int n;
    int &a;
};

int main(){
    A a(10);
    cout << a.get() <<endl;
    return 0;
}

// 输出结果
// 10
// 11

note2:初始化后的引用变量所占用的内存空间和普通变量相同

#include <iostream>
using namespace std;

class A {
public:
    A(int k):a(k){}
    int &a;
};

int main(){
    A a(1);
    cout << sizeof(a) <<endl;
    return 0;
}


// 输出结果(VS2013 32位编译器)
// 4

 

C++---类成员变量定义为引用

标签:out   iostream   bsp   class   占用   初始   space   c++   变量   

原文地址:https://www.cnblogs.com/zpcoding/p/10806984.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!