1.sizeof:
定义一个空的类型,对该类型求sizeof,结果为1。原因是当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。至于占用多少内存,由编译器决定。在visual studio中每个空类型的实例占用1字节的空间。
添加了构造函数和析构函数后,对其sizeof仍然是1,因为调用构造函数和析构函数只需要知道函数地址即可,这些地址只与类型相关,与实例无关。
如果析构函数是虚函数,编译器会为该类型生成虚函数表,并在该类型的每一个实例中添加一个指向虚函数表的指针。
2.赋值构造函数:
3.赋值运算符函数
函数结束前返回实例自身的引用(*this),这样才可以允许连续赋值。