basepoint.cpp

来自「这个是我们学校用的VC++教案」· C++ 代码 · 共 29 行

CPP
29
字号
#include  <iostream.h>
class  A
{
private:
	int  a; 
public:
	void  setA(int  i) { a=i; };
	void  showA() { cout<<"a="<<a<<'\n'; };
	} ;  
class  B : public  A
{
private:
	int  b; 
public:
	void  setB(int  i) { b=i; } ; 
	void  showB() { cout<<"b="<<b<<'\n'; }; 
};
void  main()
{
	A  a, *pa;			// pa为基类对象的指针
	B  b, *pb;			// pb为派生类对象的指针
	pa=&b;				// 基类指针pa指向派生类对象b
	pa->setA(100);		// 通过基类指针pa访问派生类B中从基类A继承的公有成员
	pa->showA(); 
	pb=(B*)pa;			// 将基类指针强制转化为派生类指针
	pb->setB(200);		// 不能通过基类指针pa访问派生类自己定义的成员
	pb->showB();  
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?