µ±Ç°Î»ÖãºÊ×Ò³ > C++ÃæÏò¶ÔÏóʵÑ鱨¸æ
Student(string n,string s,int a,string no,string d) :Person(n,s,a) { num=no; depa=d;
}
void display()
{Person::display(); cout<<\ѧºÅ:\
cout<<\ϵ±ð:\
}
protected:
string num; string depa;
};
class Graduate:public Student
{public: Graduate(string n,string s,int a,string no,string d,string tn)
{
:Person(n,s,a),Student(n,s,a,no,d) tname=tn;
}
void display()
{Student::display(); cout<<\µ¼Ê¦:\}
private:
string tname; };
int main()
{Teacher teac(\º«ÑÞ\Å®\¸±½ÌÊÚ\ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ\ Student stud(\ÀîÑô\ÄÐ\¼ÆËã»úϵ\ Graduate grad(\Íõ·É\ÄÐ\¼ÆËã»úϵ\ÂíÆ½\ cout<<\½ÌʦµÄÓйØÊý¾ÝÈçÏÂ:\ }
teac.display();
cout<<\ѧÉúµÄÓйØÊý¾ÝÈçÏÂ:\stud.display();
cout<<\Ñо¿ÉúµÄÓйØÊý¾ÝÈçÏÂ:\grad.display(); return 0;
ʵÑé5 ¶à̬ÐÔÓëÐ麯Êý
Ò»¡¢ÊµÑéÄ¿µÄºÍÒªÇó
Á˽⾲̬Áª±àºÍ¶¯Ì¬Áª±àµÄ¸ÅÄî¡£ÕÆÎÕ¶¯Ì¬Áª±àµÄÌõ¼þ¡£
¶þ¡¢ÊµÑéÄÚÈݺÍÔÀí
ÊÂÏȱàдºÃ³ÌÐò£¬ÉÏ»úµ÷ÊÔºÍÔËÐгÌÐò£¬·ÖÎö½á¹û¡£ £¨1£©ÊµÑéÖ¸µ¼ÊéP97 2 £¨2£©ÊµÑéÖ¸µ¼ÊéP100 5
Èý¡¢ÊµÑé»·¾³
ÁªÏë¼ÆËã»ú£¬Windows XP²Ù×÷ϵͳ£¬Visual C++ 6.0
ËÄ¡¢Ëã·¨ÃèÊö¼°ÊµÑé²½Öè
£¨1£©±àдԴ³ÌÐò¡£
£¨2£©¼ì²é³ÌÐòÓÐÎÞ´íÎó(°üÀ¨Óï·¨´íÎóºÍÂß¼´íÎó)£¬ÓÐÔò¸ÄÖ®¡£ £¨3£©±àÒëºÍÁ¬½Ó£¬×Ðϸ·ÖÎö±àÒëÐÅÏ¢£¬ÈçÓдíÎóÓ¦ÕÒ³öÔÒò²¢¸ÄÕýÖ®¡£ £¨4£©ÔËÐгÌÐò£¬·ÖÎö½á¹û¡£
£¨5£©½«µ÷ÊԺõijÌÐò±£´æÔÚ×Ô¼ºµÄÓû§Ä¿Â¼ÖУ¬ÎļþÃû×Ô¶¨¡£
Îå¡¢µ÷ÊÔ¹ý³Ì
ÔÚµÚ2ÌâÖеÄÀà¡®Teacher¡¯ÖÐûÓж¨Òå¡®lessons¡¯µ¼Ö´íÎó¡£
Áù¡¢ÊµÑé½á¹û
(1)
(2)
Æß¡¢×ܽá
£¨1£© Á˽âÁËÖØÔØºÍ¸²¸ÇµÄÇø±ð¡£
£¨2£© ÈÏʶµ½¶¯Ì¬Áª±àºÍ¾²Ì¬Áª±àµÄÇø±ðÒÔ¼°¶¯Ì¬Áª±àµÄÌõ¼þ¡£
¸½Â¼£º
´úÂëÈçÏ£º
£¨1£©//sy5_1.cpp #include
class Base {public:
void f(int x){cout<<\ };
class Derived:public Base {public:
virtual void g(void){cout<<\};
int main() {Derived d;
Base *pb=&d; pb->f(42); pb->f(3.14f) ; pb->g(); return 0; }
£¨2£©//sy5_2.cpp #include
Teacher(string n,int h); virtual double salary()=0; virtual void print()=0; protected:
string name; int lessons; };
Teacher::Teacher(string n,int h) {name=n; lessons=h;
}
class Professor:public Teacher
{public:
Professor(string n,int h):Teacher(n,h){}
double salary(){return 5000+50*lessons;} void print();
void f(float x){cout<<\ virtual void g(void){cout<<\
};
void Professor::print()
{ cout< class Associateprofessor:public Teacher {public: Associateprofessor(string n,int h):Teacher(n,h){} double salary(){return 3000+30*lessons;} }; void Associateprofessor::print() { cout< class Lecturer:public Teacher { public: Lecturer(string n,int h):Teacher(n,h){} double salary(){return 2000+20*lessons;} void print(); void print(); }; void Lecturer::print() { cout< int main() { Teacher *t[3]; t[0]=new Professor(\ t[1]=new Associateprofessor(\ } t[3]=new Lecturer(%ue\for(int i=0;i<3;i++) { t[i]->print(); delete t[i]; } return 0; ʵÑé6 ÔËËã·ûÖØÔØ Ò»¡¢ÊµÑéÄ¿µÄºÍÒªÇó ÊìϤÔËËã·ûÖØÔØµÄ¶¨ÒåºÍʹÓ÷½·¨ ¶þ¡¢ÊµÑéÄÚÈݺÍÔÀí ÊÂÏȱàдºÃ³ÌÐò£¬ÉÏ»úµ÷ÊÔºÍÔËÐгÌÐò£¬·ÖÎö½á¹û¡£ £¨1£©ÊµÑéÖ¸µ¼ÊéP104 1
¹²·ÖÏí92ƪÏà¹ØÎĵµ