C++类继承内部类实例

水一贴

类继承和内部类,以及内部类继承实例

先看tran.h文件

/*
 * train.h
 *
 *  Created on: 2018年7月25日
 *      Author: admin
 */
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#ifndef TRAIN_H_
#define TRAIN_H_
class Z
{
	public :static string str;
				   string scr;
	public :void doublefoo()
	{
		cout<<"Hello World"<<endl;
	}
};
class A
{
public :static  int k;
               	int h;
public: class B : public Z//B 为A 的内部类,继承Z 类
{
	public : void foo(A a)
                     {
                           cout<<k<<endl;//OK
                           cout<<a.h<<endl;
                     }
              }b;
};
class C : public A
{
	public : static int A;

};


#endif /* TRAIN_H_ */

然后写个mian.cpp测试一下。

#include<iostream>
#include<stdio.h>
#include<string.h>
#include"train.h"
using namespace std;
string Z::str="World Hello";
int A::k=3;
int  main()
{
	C c;
	A a;
	a.h=10;
	a.b.foo(a);
	c.b.foo(a);
	//c.b.foo(a);
	a.b.doublefoo();
	cout<<a.b.str<<endl;
	c.b.doublefoo();
	a.b.scr=">>>>>>>>>>>>>>>>>>";
	cout<<a.b.scr+"?"<<endl;
    return 0;
}

测试

猜你喜欢

转载自blog.csdn.net/z8110/article/details/81204452