您的位置:首页 > 其它

类模版

2015-10-22 14:43 393 查看
// CCodeTest.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <iostream>

using namespace std;

class A

{

public:

int func1(int x,int y)

{

printf("A::func:x=%d,y=%d/n",x,y);

return (x<y?x:y);

}

virtual int func2(int x,int y)

{

printf("A::func:x=%d,y=%d/n",x,y);

return (x>y?x:y);

}

};

class B : public A

{

public:

virtual int func2(int x,int y)

{

printf("B::func:x=%d,y=%d/n",x,y);

return (x+y);

}

};

typedef int (A::*p)(int,int);//指针名前一定要加上所属类型类名 A::的限定

typedef int (B::*p0)(int,int);

template<typename T,typename T1 =void ,typename T2 = void>

class M

{

public:

void show()

{

cout<<"1"<<endl;

}

};

template<typename T1,typename T2>

class M<double,T1,T2>

{

public:

void show()

{

cout<<"2"<<endl;

}

};

template<typename T1,typename T2>

class M<T1,char,T2>

{

public:

void show()

{

cout<<"3"<<endl;

}

};

template<>

class M<int,double,char>

{

public:

void show()

{

cout<<"6"<<endl;

}

};

template<typename T1,typename T2>

class M<T1,T2>

{

public:

void show()

{

cout<<"4"<<endl;

}

};

template<typename T1>

class M<T1,int>

{

public:

void show()

{

cout<<"5"<<endl;

}

};

class SpecialA

{

public:

int m_a;

//const int m_b;

};

int main()

{

auto a = 15;

cout<<a<<endl;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: