CHAPTER1-22.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
- //文件名:CHAPTER1-22.cpp
- #include <iostream.h>
- //定义基类A
- class A
- {
- public:
- A() { cout<<"类A的构造函数!"<<endl; }
- A(int a) { Aa = a, aa = a, aaa = a; }
- void Aprint() { cout<<"类A打印自己的private成员aa:"<<aa<<endl; }
- int Aa;
- private:
- int aa;
- protected:
- int aaa;
- };
- //定义由基类A派生的类B
- class B : public A
- {
- public:
- B() { cout<<"类B的构造函数!"<<endl; }
- B(int i, int j, int k);
- void Bprint()
- {
- cout<<"类B打印自己的private成员bb和protected成员bbb:"<<bb<<","<<bbb<<endl;
- }
- void B_Aprint()
- {
- cout<<"类B的public函数访问类A的public数据成员Aa:"<<Aa<<endl;
- cout<<"类B的public函数访问类A的protected数据成员aaa:"<<aaa<<endl;
- GetAaaa();
- GetAaaa1();
- }
- private:
- int bb;
- void GetAaaa()
- {
- cout<<"类B的private函数访问类A的public数据成员Aa:"<<Aa<<endl;
- cout<<"类B的private函数访问类A的protected数据成员aaa:"<<aaa<<endl;
- }
- protected:
- int bbb;
- void GetAaaa1()
- {
- cout<<"类B的protected函数访问类A的public数据成员Aa:"<<Aa<<endl;
- cout<<"类B的protected函数访问类A的protected数据成员aaa:"<<aaa<<endl;
- }
- };
- //基类B的构造函数,需负责对基类A的构造函数的初始化
- B::B(int i, int j, int k):A(i), bb(j), bbb(k) {}
- //程序主函数
- void main()
- {
- B b1(100, 200, 300); //定义类B的一个对象b1,并初始化构造函数和基类构造函数
- b1.B_Aprint(); //类B调用自己的成员函数B_Aprint函数
- b1.Bprint(); //类B对象b1访问自己的private和protected成员
- b1.Aprint(); //通过类B的对象b1调用类A的public成员函数
- }