1. 程式人生 > >C++類繼承內部類例項

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;
}

測試