C++中的this

来源:互联网 发布:腾讯云域名与ip绑定 编辑:程序博客网 时间:2024/05/29 02:56

1、父类中的this不一定是指向父类对象,也可能指向的是子类对象。
2、当父类初始化自己的对象时,其中的this是指父类对象本身。
3、当子类继承父类时,子类初始化自己的对象,会调用父类的构造函数,此时父类构造函数的this指的是子类对象,而不是父类对象。下面的代码可以说明一切。

#include <iostream>class AA{public:    int a ;    static AA *pA ;public:      AA(int a )    {        this->a = a;        pA = this;//当子类对象初始化的时候,此时的this指的是子类对象。    }    virtual void print()    {        std::cout<<"AA print.\n";    }};AA* AA::pA = NULL;//类的静态成员变量要在类的外面赋值。//语法:类型 域作用符::变量名 = 值class  BB:public AA{public:    BB():AA(2)    {    }    void print()    {        std::cout<<"BB print.\n";    }private:};void main(){    //BB b;    //b.print();    ////两者地址相同,说明pA指向的是子类对象    //std::cout<<&b<<std::endl;    //std::cout<<AA::pA<<std::endl;    //AA::pA->print();//因为父类的print()是虚函数,如果父类指针指向的是子类对象的话,则会调用子类中的print()函数,事实上调用的的确是子类中的print函数,所以pA指向的是子类对象。    AA a(1);    std::cout<<&a<<std::endl;    std::cout<<AA::pA<<std::endl;    system("pause");}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 白色真皮染色了怎么办 白色漆皮鞋脏了怎么办 对鉴定结果不服怎么办 洗衣机入水口堵塞怎么办 华科办临时饭卡怎么办 血浆乳酸测定高怎么办 olay大红瓶过敏怎么办 饥一顿饱一顿怎么办 朝鲜人向去韩国怎么办? 我是超级大方脸怎么办 被精神病砍断四根筋怎么办 40小时不睡觉怎么办 边防转业军人安置不好怎么办 转业军人孩子读书怎么办玉环 军官证丢了怎么办 飞行学员停飞了怎么办 丹东港债券违约怎么办 对村党支部贿选怎么办 马自达2油耗高怎么办 马自达1.5油耗高怎么办 马自达5停产配件怎么办 期货账户休眠了怎么办 低于二本线怎么办 听力测试不过关怎么办 安装的天正过期怎么办 天正t20v4过期了怎么办 鸡肉菊花一起吃怎么办 孕妇误食马兰头怎么办 孕29周喉咙痛怎么办 哺乳期吃了当归怎么办 哺乳期喝了茶水怎么办 大人感染eb病毒怎么办 下面一直有血怎么办 猫咪吐红色液体怎么办 宝宝拉屎有血水怎么办 屁眼火辣辣的疼怎么办 屁眼拉屎有血怎么办 转业干部退档案怎么办 学校遇到不公待遇怎么办 孕妇受到不公待遇怎么办 强制停机骗局该怎么办