水一贴
类继承和内部类,以及内部类继承实例
先看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;
}
测试