第十一週實踐專案(5)——c
阿新 • • 發佈:2019-02-20
問題及程式碼:
/*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:吳敬超 * 完成日期:2016年5月10日 * 版本號:codeblock * * 問題描述: * 輸入描述: * 程式輸出: 輸出結果 */ #include<iostream> using namespace std; class A { protected: int a,b; public: A(int aa,int bb):a(aa),b(bb){} void printA() { cout<<"a:"<<a<<"\tb:"<<b<<endl; } }; class B:public A { int c; public: B(int aa,int bb,int cc):A(aa,bb),c(cc){} void printB() { cout<<"s:"<<a<<"\tb:"<<b<<"\tc:"<<c<<endl; } }; int main() { A a(1,1); B b(2,3,4); A &r1=a; A &r2=b; r1.printA(); r2.printA(); //r2.printB(); return 0; }
執行結果:
錯誤原因:
基類A引用的是子類中的物件,物件r1只能呼叫基類中的函式,而不能呼叫子類中的函式