// ============================================================================
//  p1c04_08_07  —  4.8.7 重写 重载 重定义
//  来源：川大 C++/LinuxC wiki「02.Qt方向」
//  说明：本文件由 gen_part1.py 合并页面中的教学片段而成。每个片段用
//        // --- 原文片段 [pageId:blockIdx] --- 标注出处。
//        已做最小修正（笔误/平台移植），详见 docs/ERRATA.md。
// ============================================================================

#include <iostream>
using namespace std;

// --- 原文片段 [58954469:6]  4.8.7 重写 重载 重定义 ---
static void block_0() {
    class A{
    public:
    	//同一作用域下，func1函数重载
    	void func1(){}
    	void func1(int a){}
    	void func1(int a,int b){}
    	void func2(){}
    	virtual void func3(){}
    };

    class B : public A{
    public:
    	//重定义基类的func2,隐藏了基类的func2方法
    	void func2(){}
    	//重写基类的func3函数，也可以覆盖基类func3
    	virtual void func3(){}
    };
}

// --- main ---
int main() {
    block_0();
    return 0;
}
