打印

一个C++对象赋值的例子

[复制链接]
691|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2015-11-25 20:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C++, ST, TE, TEST, AN
本帖最后由 keer_zu 于 2015-11-25 20:41 编辑

头文件:
#ifndef ANIMAL_H
#define ANIMAL_H

//===============================================================
//
//                                  animal
//                                 鍔ㄧ墿鍩虹被
//
//===============================================================
//#include <strings.h>
//#include <string.h>
#include <string>
using namespace std;
typedef enum {
        test0 = 0,
        test1 = 1,
        test2 = 2,
        test3 = 3
}TEST;
class animal
{
private:
        string m_s;
        int m_foot;
        int m_food;
        TEST m_test;
       
public:
        animal():m_foot(4),m_food(1),m_test(test2),m_s("Hell luojianfeng!\n"){}
        animal& operator =(const animal& other);
        void breathe();                // 闈炶櫄鍑芥暟
        void set_foot(int foot){m_foot = foot;}
        int get_foot(){return m_foot;}
        void set_food(int food){m_food = food;}
        int get_food(){return m_food;}
        void set_test(TEST test){m_test = test;}
        void set_s(string s){m_s = s;}
};

//===============================================================
//
//                                       animal
//                                 楸肩被锛岄泦鎴愪簬鍔ㄧ墿鍩虹被
//
//===============================================================
class fish : public animal
{
public:
        void breathe();                // 闈炶櫄鍑芥暟
};

#endif


相关帖子

沙发
keer_zu|  楼主 | 2015-11-25 20:37 | 只看该作者
本帖最后由 keer_zu 于 2015-11-25 20:43 编辑

.cpp文件:
#include "animal.h"
#include <iostream>
//#include "animal.h"

using namespace std;

//===============================================================
//
//                                  animal
//                                 鍔ㄧ墿鍩虹被
//
//===============================================================

void animal::breathe()
{
        cout << "animal breathe" << endl;
}

animal& animal::operator =(const animal& other)
{

}

//===============================================================
//
//                                       animal
//                                 楸肩被锛岄泦鎴愪簬鍔ㄧ墿鍩虹被
//
//===============================================================

void fish::breathe()
{
        cout << "fish bubble" << endl;
}



void ExamAnimal()
{
        // 灏嗗瓙绫绘寚閽堢洿鎺ヨ祴缁欏熀绫绘寚閽堬紝涓嶉渶瑕佸己鍒惰浆鎹紝C++缂栬瘧鍣ㄨ嚜鍔ㄨ繘琛岀被鍨嬭浆鎹?
        // 鍥犱负fish瀵硅薄涔熸槸涓€涓猘nimal瀵硅薄
        animal* pAn;
        fish* pfh = new fish;
        pAn = pfh;
        animal *an1 = new animal;
        delete pfh;
        animal an2 = *an1;
        an1->set_test(test3);
        an1->set_s("yes i an luojianfeng! hahahahahahahahahahahahahahaah,heheheheheheheheh");
        animal *an3 = new animal;
        *an3 = *an1;

        pfh = NULL;
       
        // 灏嗗熀绫绘寚閽堢洿鎺ヨ祴缁欏瓙绫绘寚閽堬紝闇€瑕佸己鍒惰浆鎹紝C++缂栬瘧鍣ㄤ笉浼氳嚜鍔ㄨ繘琛岀被鍨嬭浆鎹?
        // 鍥犱负animal瀵硅薄涓嶆槸涓€涓猣ish瀵硅薄
        fish* fh1;
        //animal* an1 = new animal;
        // 淇敼澶勶細
        // 杩涜寮哄埗绫诲瀷杞寲
        fh1 = (fish*)an1;

        delete an1;
        an1 = NULL;
}

int main(int argc, char* argv[])
{
        ExamAnimal();

        return 0;
}



使用特权

评论回复
板凳
keer_zu|  楼主 | 2015-11-25 20:38 | 只看该作者
可以编译一下,用gdb看看执行每一条赋值后对象的结果。

使用特权

评论回复
地板
keer_zu|  楼主 | 2015-11-26 09:39 | 只看该作者
yyy71cj 发表于 2015-11-26 09:05
你用的是什么字符集?

乱码了是吧

使用特权

评论回复
5
keer_zu|  楼主 | 2015-11-26 09:39 | 只看该作者
yyy71cj 发表于 2015-11-26 09:05
你用的是什么字符集?

乱码了是吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1351

主题

12431

帖子

53

粉丝