类模版
来源:互联网 发布:平面装修设计软件 编辑:程序博客网 时间:2024/05/22 05:12
// 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;
}
//
#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;
}
0 0
- 模版——函数模版、类模版
- 模版类
- 模版类
- 类模版
- 模版类
- 类模版
- 类模版
- 类模版
- 类模版
- 类模版
- 类模版中函数模版
- 函数模版与类模版
- 函数模版和类模版
- 模版笔记002 - 类模版
- 函数模版和类模版
- 函数模版、类模版、类模版和宏
- 模版及模版类的继承
- 一个函数模版和类模版实例
- iOS项目问题汇总<二>
- Hexagon DSP功能介绍
- [脚本]批量解压 重命名
- myeclipse自动提示不起作用
- 是技术博客还是心情博客?
- 类模版
- Android内存管理整理
- 不同变量类型的不同输出格式
- Java流--flush()
- MySql常用命令总结
- ArrayList的几个常用方法
- Openvpn的配置和连接
- lua封装
- 创建和销毁对象——避免创建不必要的对象——重用不可变对象(摘自Effective java)