⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter1-22.cpp

📁 STL程序员开发指南源码
💻 CPP
字号:
//文件名: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成员函数
}

⌨️ 快捷键说明

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