指针为空时c ++调用对象方法

时间:2018-09-23 20:10:28

标签: c++

有人可以告诉我为什么在mA为null时为什么此代码有效吗? 请参见下面的输出。 mA为空,但是调用write方法是有效的。

class A {

public:
    void write();

};

void A::write() {
    std::cout << "A::write()" << std::endl;
}

class B {

private:
    A *mA;

public:
    void writea();

};

void B::writea() {
    std::cout << mA << std::endl;
    std::cout << &(*mA) << std::endl;

    (*mA).write();
}


int main()
{ 
    B *b = new B();
    b->writea();
    delete b;
}

输出:

00000000
00000000
A::write()

谢谢。

0 个答案:

没有答案