C++类型起别名的方式
C++ using用法总结
1)配合命名空间,对命名空间权限进行管理
using namespace std;//释放整个命名空间到当前作用域
using std::cout; //释放某个变量到当前作用域
2)类型重命名
作用等同typedef,但是逻辑上更直观。
#include <iostream> using namespace std; #define DString std::string //! 不建议使用! typedef std::string TString; //! 使用typedef的方式
using Ustring = std::string; //!使用 using typeName_self = stdtypename; //更直观
typedef void (tFunc*)(void);
using uFunc = void(*)(void);
int main(int argc, char *argv[])
{ TString ts("String!");
Ustring us("Ustring!");
string s("sdfdfsd"); cout<<ts<<endl;
cout<<us<<endl;
cout<<s<<endl;
return ;
}
3)继承体系中,改变部分接口的继承权限。
有这样一种应用场景,比如我们需要私有继承一个基类,然后又想将基类中的某些public接口在子类对象实例化后对外开放直接使用。如下即可
#include <iostream>
//#include <array>
#include <typeinfo> using namespace std; class Base
{
public:
Base()
{}
~Base(){} void dis1()
{
cout<<"dis1"<<endl;
}
void dis2()
{
cout<<"dis2"<<endl;
}
}; class BaseA:private Base
{
public:
using Base::dis1;//需要在BaseA的public下释放才能对外使用,
void dis2show()
{
this->dis2();
}
}; int main(int argc, char *argv[])
{ BaseA ba;
ba.dis1();
ba.dis2show(); return ;
}
C++类型起别名的方式的更多相关文章
- 判断浏览器类型用 document.documentMode方式,
		if ( document.documentMode && document.documentMode < 9 ){ document.write( '<script sr ... 
- 记住 Python 变量类型的三种方式
		title: 记住变量类型的三种方式 date: 2017-06-11 15:25:03 tags: ['Python'] category: ['Python'] toc: true comment ... 
- 访问某类型的元数据的方式-TypeDescriptor 类
		.NET Framework 提供了两种访问某类型的元数据的方式:通过 System.Reflection 命名空间中提供的反射 API,以及通过 TypeDescriptor 类.反射是可用于所有类 ... 
- 检测对象类型的两种方式,constructor属性和instanceof
		//本例是为了记录检测对象类型的两种方式,即constructor属性和instanceof操作符.详见<高三>P145 function Person(name, age, ... 
- 11、mybatis的映射xml中参数类型的别名
		在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型.需要resultType指定输出结果的映射类型. 如果在指定类型时输入类型全 ... 
- EditText限制输入字符类型的几种方式
		最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我 ... 
- C++ : 类型的别名和对象的别名
		#include <iostream>using namespace std; class human{public: void Talk(); ~human(){cout&l ... 
- MYSQL索引的类型和索引的方式
		索引的类型: normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索 ... 
- Dynamics CRM  通过Odata创建及更新记录各类型字段的赋值方式
		CRM中通过Odata方式去创建或者更新记录时,各种类型的字段的赋值方式各不相同,这里转载一篇博文很详细的列出了各类型字段赋值方式,以供后期如有遗忘再次查询使用. http://luoyong0201 ... 
随机推荐
- 3行代码  多元线性方程组 rank=4   多元-一元  降元
			对于线性方程组Ax=b 对A和b执行同样的一串行初等运算, 那么该方程组的解集不发生变化. [未知-已知 高阶--低阶] http://mathworld.wolfram.com/CramersR ... 
- Kibana + ElasticSearch
			上面一张介绍了ElasticSearch的安装和简单用法. 现在应该都知道ElasticSearch是用来做全文搜索的,那今天我就简单介绍下Kibana. 它是专门用来查看ElasticSearch内 ... 
- 如何使用doctrine:migrations:migrate
			doctrine:migrations:migrate: 可以生成数据库表 当新建完实体之后需要执行 doctrine:migrations:diff 更新差异到db 然后就ok了,这时候你的app/ ... 
- BeginPaint和GetDC有什么区别
			windows编程问题 第一种情况显示出来的字很正常. case WM_PAINT: gdc = BeginPaint (hwnd, &ps); TextOut (gdc, 0, 0, s, ... 
- 《avascript 高级程序设计(第三版)》 ---第一章 Javascript简介
			这一章主要是介绍了 Javascript的一些历史: 1.Javascript主要由三个部分组成:ECMAScript,DOM,BOM. ECMAScript:现在主流浏览器已经全部支持. DOM:把 ... 
- Web性能测试中的几个概念【转】
			每秒查询率QPS:对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,即每秒请求数,即最大谈吐能力. 并发数:并发数和QPS是不同的概念,一般说QPS会说多少并发用户下QPS,当QPS相同时, ... 
- lxml解析html与元素定位
			lxml.beautifulsoup和正则表达式都可以解析定位html元素.前两者中,lxml比beautifulsoup效率高,所以采用lxml解析html. 方法: from lxml impor ... 
- [acm]HDOJ 2673 shǎ崽 OrOrOrOrz
			题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2673 拍两次序,交替输出 #include<iostream> #include< ... 
- PHP 正则表达示
			PHP 正则表达示 php如何使用正则表达式 正则表达式基本元字符 #正则表达式示例 ^:匹配输入字符串开始的位置.如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\ ... 
- 作业2nd
			1. 国内: 雷军作为中国互联网代表人物及环球年度电子商务创新首领人物,曾获中国经济年度人物及十大财智首领人物.中国互联网年度人物等多项国表里荣誉,并当选<福布斯>(亚洲版)2014年度贸 ... 
