注册 登录
编程论坛 C++教室

关于类的多态的问题?

asd6791868 发布于 2009-12-22 10:37, 669 次点击
#include "iostream"
using namespace std;
class a
{
    public:
    void print()
    {
        this->aa();
    }
   
    virtual void aa()
    {
        cout<<"这里是基类的构造函数"<<endl;
    }
};

class b: public a
{
    public:
    virtual void aa()
    {
        cout<<"这里是派生类的构造函数"<<endl;
    }
};

void main ()
{
    b m;
    m.print();
    a *n=&m;
    n->print();
}

在基类的void print()函数中 使用this指针 和不使用 this指针有什么区别啊?
7 回复
#2
流星雨2009-12-22 11:04
本人路过,this是指本类
         
#3
asd67918682009-12-22 11:33
还是没明白,看来 路过的就是不专业
#4
流星雨2009-12-22 11:53
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身,this是一个指针,它时时刻刻指向你这个实例本身
所以应该是没什么区别。
不过楼上这位兄弟,我确实不是做C++的。在JAVA里,写不写this,结果都是一样的。
#5
pangding2009-12-22 12:06
我觉得在 C++ 里加不加好像也没什么区别~
#6
asd67918682009-12-22 12:38
哦  
#7
流星雨2009-12-22 14:20
楼主,你说我以后还要不要路过别的版块呢?今天我就先去写我自己的代码了。我就不回帖了。
#8
秀痘魔导士2009-12-23 14:26
this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子:
程序代码:
    void Date::setMonth( int mn )
    {
     month = mn; // 这三句是等价的
     this->month = mn;
     (*this).month = mn;
    }


1