#include <iostream>
using namespace std;
typedef int Len;
class A
{
public:
/* 对成员函数本体的分析,会直到整个类的声明都出现了才开始, 即直至class声明的右大括号出现才开始。
但是对于成员函数的参数列表不需等到整个类的声明都出现。
防御方法: (1) 将所有的数据成员都放在class声明起头处
(2) 把所有的inline函数都放到class声明外
*/
void print(Len a = 0){cout<<sizeof(a);}
void print1(){cout<<sizeof(Len);}
void print2(){cout<<sizeof(a);}
typedef double Len;
private:
Len a;
};
int main()
{
A a;
a.print(); ///4
a.print1();//8
a.print2();//8
return 0;
}
C++ 数据成员的绑定
最新推荐文章于 2024-08-07 21:21:52 发布