您的位置:首页 > 其它

interface语法糖

2015-06-25 08:01 429 查看
// testInterface.cpp : Defines the entry point for the console application.
// 编译环境: win7x64 + vs2010 vc++

#include "stdafx.h"
#include <windows.h>

/**
#define __STRUCT__ struct
#define interface __STRUCT__

interface 是一种语法糖, 比class看起来更符合接口的定义
struct默认的成员就是public的, class默认的成员是private
*/
interface IB
{
    virtual void SayHello() = 0; ///< 必须申明成纯虚函数
};

class CA
{
public:
    virtual ~CA()
    {
        printf("~CA\r\n");
    }
};

class CB :public IB, public CA
{
public:
    virtual ~CB()
    {
        printf("~CB\r\n");
    }

    virtual void SayHello()
    {
        printf("Hello CB\r\n");
    }
};

int _tmain(int argc, _TCHAR* argv[])
{
    CB* pb = new CB();
    ((IB*)pb)->SayHello();

    delete pb;

    /** run result
    Hello CB
    ~CB
    ~CA
    */
    getchar();
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: