国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++——多態(tài)、繼承、運算符重載綜合例子代碼

2019-11-09 20:08:23
字體:
來源:轉載
供稿:網(wǎng)友
#include <iostream>#include <string.h>using namespace std;class A{PRivate:    char *name;public:    A(char *n);    virtual ~A();};A::~A(){    int m;    if(name != NULL)    {        m = strlen(name)+1;        delete[] name;        name = NULL;        cout<<"A類釋放了"<<m<<"字節(jié)空間"<<endl;    }}A::A(char *n){    name = new char[strlen(n)+1];    strcpy(name,n);    cout<<"A類申請了"<<strlen(n)+1<<"字節(jié)空間"<<endl;}class B:public A{private:    char *address;public:    B(char *n,char *add);    virtual ~B();};B::B(char *n,char *add):A(n){    address = new char[strlen(add)+1];    strcpy(address,add);    cout<<"B類申請了"<<strlen(add)+1<<"字節(jié)空間"<<endl;}B::~B(){    int m;    if(address != NULL)    {        m = strlen(address)+1;        delete[] address;        address = NULL;        cout<<"B類釋放了"<<m<<"字節(jié)空間"<<endl;    }}int main(){    //A a("x12345678");    //  A *pa = new A("x12345678");    // delete pa;    A *pb = new B("xy12345678","吉首大學");    delete pb;    return 0;}

動物類模擬:

#include <iostream>#include <string.h>using namespace std;class CAnimal{private:    int age;    float weight;public:    CAnimal() {};    CAnimal(const CAnimal &ca);    CAnimal& Operator = (const CAnimal &ca);    CAnimal(int a,float w);    void Run();    void Shout();    void Grow();};CAnimal::CAnimal(int a,float w){    age = a;    weight = w;    // cout<<"信息:"<<a<<","<<w<<endl;}CAnimal::CAnimal(const CAnimal &ca){    this->age = ca.age;    this->weight = ca.weight;}void CAnimal::Run(){    cout << " is running!" << endl;}void CAnimal::Shout(){    cout << " is shouting!" << endl;}void CAnimal::Grow(){    cout << " is growing!" << endl;}class Chorse:public CAnimal{private:    char name[16];    char kind[16];public:    Chorse() {};    Chorse(const Chorse &ca):CAnimal(ca)    {        strcpy(name,ca.name);        strcpy(kind,ca.kind);    };    Chorse(char* n,char* k,int a,float w);    void Run()    {        cout << name;        CAnimal::Run();    };    void Shout()    {        cout << name;        CAnimal::Shout();    };    void Grow()    {        cout << name;        CAnimal::Grow();    };};Chorse::Chorse(char* n,char* k,int a,float w):CAnimal(a,w){    strcpy(name,n);    strcpy(kind,k);}class Ccat:public CAnimal{    private:    char name[16];    char kind[16];public:    Ccat() {};    Ccat(char* n,char* k,int a,float w);    Ccat(const Ccat &ca):CAnimal(ca)    {        strcpy(name,ca.name);        strcpy(kind,ca.kind);    };    void Run()    {        cout << name;        CAnimal::Run();    };    void Shout()    {        cout << name;        CAnimal::Shout();    };    void Grow()    {        cout << name;        CAnimal::Grow();    };};Ccat::Ccat(char* n,char* k,int a,float w):CAnimal(a,w){    strcpy(name,n);    strcpy(kind,k);}class Cdog:public CAnimal{   private:    char name[16];    char kind[16];public:    Cdog() {};    Cdog(char* n,char* k,int a,float w);    Cdog(const Cdog &ca):CAnimal(ca)    {        strcpy(name,ca.name);        strcpy(kind,ca.kind);    };    void Run()    {        cout << name;        CAnimal::Run();    };    void Shout()    {        cout << name;        CAnimal::Shout();    };    void Grow()    {        cout << name;        CAnimal::Grow();    };};Cdog::Cdog(char* n,char* k,int a,float w):CAnimal(a,w){    strcpy(name,n);    strcpy(kind,k);}int main(){    Cdog c("DogWangcai","alaska",10,11.5);    c.Run();    c.Grow();    c.Shout();    Ccat * cat = new Ccat("CatJerry","jiamao",10,56.3);    /*        cat->Run();        cat->Grow();        cat->Shout();    */    Ccat * cat2 = cat;    //Ccat cat2(*cat);    cat2->Run();    cat2->Grow();    cat2->Shout();    cat2->CAnimal::Shout();    CAnimal * a = new CAnimal(30,56);    //a->Ccat::Run();    return 0;}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 大名县| 新乡市| 海原县| 济阳县| 论坛| 卢氏县| 胶南市| 新龙县| 通州区| 焦作市| 平果县| 晋江市| 琼中| 伽师县| 大同市| 通化市| 大田县| 乌拉特中旗| 平阳县| 五寨县| 车致| 株洲市| 佳木斯市| 抚顺市| 阳春市| 万安县| 平山县| 库尔勒市| 清涧县| 诸城市| 琼中| 安平县| 栾川县| 东丽区| 巴彦淖尔市| 宝丰县| 绥棱县| 武宣县| 深水埗区| 五台县| 瑞昌市|