码迷,mamicode.com
首页 > 编程语言 > 详细

【C++】通过基类的指针变量访问派生类中由基类继承来的隐藏对象

时间:2015-05-13 10:40:20      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:继承   派生      c++   指针   

//<img src="http://img.blog.csdn.net/20150512213309005?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG91ZG91d2ExMjM0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
// 可以将一个派生类的对象的地址赋给其基类的指针变量,但只能通过这个指针访问派生类中由基类继承来的隐藏对象,
//不能访问派生类中的新成员。同样也不能反过来做。

#include <iostream>
using namespace std;
class B
{
public:
	B()
	{
		cout<<"B"<<endl;
	}
	void fun()
	{
		cout<<"B::fun()"<<endl;
	}
private:
	int x;
};

class D : public B
{
public:
	D()
	{
		cout<<"D"<<endl;
	}
	void fun()
	{
		cout<<"D::fun()"<<endl;
	}
	void show()
	{
		cout<<"D::show()"<<endl;
	}
private:
	int y;
};
void main()
{
	D d;
	B *pb = &d;
	pb->fun();
	// pb->D::fun(); 
	// pb->show();    //错误,通过基类的指针变量不能访问派生类中的新成员
}
<img src="http://img.blog.csdn.net/20150512213309005?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG91ZG91d2ExMjM0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />


【C++】通过基类的指针变量访问派生类中由基类继承来的隐藏对象

标签:继承   派生      c++   指针   

原文地址:http://blog.csdn.net/doudouwa1234/article/details/45675335

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!