8.类的封装

//2022年8月24日09:41:18
#include <iostream>
using namespace std;
#include <string>

class Maker
{
    public://公有权限
        void set(string Name, int Id)
        {
            id = Id;
            name = Name;
        }
        void printMaker()
        {
            cout << "id = " << id << " name = " << name << endl;
        }
        void get()
        {
            cout << "Maker a = " << a << endl;
        }
    private://私有权限
        int id;
        string name;

    protected://保护
        int a;

};

//继承,公有继承
class Son :public Maker//子类:继承方式 父类
{
    public:
        void func()
        {
             //下面这个a是从父类复制过来的
            a = 20;//子类的类内可以访问父类的保护权限的成员
        }
        void getS()
        {
            cout << "Son a = " << a << endl;
        }
};

//类外不能访问私有权限的成员
//类外可以访问公有权限的成员
//类外不能访问保护权限的成员
//子类的类可以访问父类的保护权限的成员
//类内没有权限之分

void test()
{
    Maker m;
    m.set("小花", 1);
    m.printMaker();
}

void test01()
{
    Maker m;
    Son s;
    s.func();
    m.get();
    s.getS();
}
int main()
{
    test01();
    system("pause");
    return EXIT_SUCCESS;
}

参考资料

参考资料来源于黑马程序员等

posted @ 2022-08-24 10:15  CodeMagicianT  阅读(21)  评论(0编辑  收藏  举报