// ============================================================================ // p1c04_08_03 — 4.8.2.1 问题解决方案(虚函数,vitual function) // 来源:川大 C++/LinuxC wiki「02.Qt方向」 // 说明:本文件由 gen_part1.py 合并页面中的教学片段而成。每个片段用 // // --- 原文片段 [pageId:blockIdx] --- 标注出处。 // 已做最小修正(笔误/平台移植),详见 docs/ERRATA.md。 // ============================================================================ #include using namespace std; // --- 原文片段 [58954469:2] 4.8.2.1 问题解决方案(虚函数,vitual function) --- class Animal{ public: virtual void speak_1(){ cout << "动物在唱歌..." << endl; } }; class Dog : public Animal{ public: virtual void speak_1(){ cout << "小狗在唱歌..." << endl; } }; void DoBussiness(Animal& animal){ animal.speak_1(); } void test(){ Dog dog; DoBussiness(dog); } // --- main --- int main() { test(); return 0; }