您的位置:首页 > 其它

****** 类中成员变量在内存中的分布是怎样的?---1

2012-10-17 16:22 274 查看
#include<stdio.h>

#include"stdlib.h"

#include<iostream>

using namespace std;

//69

class A69

{

public:

int _a;

A69()

{

_a = 1;

}

A69(int i) : _a(i)

{

}

virtual void print() //想想,这个在编译的时候,就已经确定了要输出哪一个了,肯定是A的_a啊!

{

cout << _a << endl;

}

friend void f1(A69& a);

friend void f2(const A69& a);

friend void f3(A69 a);

friend void f4(const A69 a);

};

void f1(A69& a) //不能将参数 1 从“int”转换为“A69 &”

{

cout << a._a << endl;

}

void f2(const A69& a)

{

cout << a._a << endl;

}

void f3(A69 a)

{

cout << a._a << endl;

}

void f4(const A69 a)

{

cout << a._a << endl;

}

class B69:public A69

{

public:

int _a;

B69()

{

_a = 2;

}

};

int main()

{

B69 b;

A69 *a69 = &b;

cout << "数据成员:" << a69->_a << endl;

b.print();

cout << ((A69)b)._a << endl;

cout<< b._a << endl;

f1(b);

f2(b);

f3(b);

f4(b);

//f1(3); //不能将参数 1 从int转换为A69 &

f2(3);

f3(3);

f3(3);

}

结果

数据成员:1

1

1

2

1

1

1

1

3

3

3

分析:print函数在编译的时候,就已经确定了要输出A的_a。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: