C++类型起别名的方式
2024-10-21 12:46:32
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#遍历文件夹下所有文件
- 【转】高效Java编程工具集锦
- 用 TWebBrowser 查找网页上的按钮,编辑框,
- Notepad++ 开启「切分窗口」同时检视、比对两份文件
- 如何将maven项目导入MyEclipse
- LoadRunner AJAX TruClient协议Tips and Tricks
- XCode的 Stack Trace,调试时抛出异常,定位到某一行代码
- 修改host
- css里设置一个div在顶部固定,不随滚动条滚动而滚动
- Java 期末复习提纲
- C#和asp.net执行外部EXE程序
- conn,stmt,rset 的关闭(规范)
- oralce之存储过程
- 自动FTP的小脚本
- MemCached Cache Java Client封装优化历程
- 【设计模式 - 16】之迭代器模式(Iterator)
- AIX系统上压缩与解压文件
- 使用BeanUtils组件
- HDU OJ 5437 Alisha’s Party 2015online A
- JS报表打印分页CSS
热门文章
- a positive definite matrix
- mysql随机查询
- PR 批量导入
- HDU2457 DNA repair —— AC自动机 + DP
- Centos虚拟机克隆后的ip配置
- Contiki 2.7 Makefile 文件(六)
- sublime 相关配置和快捷键
- Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。
- Mysql学习_02_mysql数据导入导出
- tomcat 6.0 安装及配置