类-类型成员

1.什么是类的类型成员

比如string::size_type就是string类中的某一个类型成员,是类自定义的某种类型在类中的别名。

2.类型成员的定义方法

1.类型成员与其他成员一样存在访问限制,即可用private和public进行修饰。

2.定义类型成员可以使用typedef和using关键字。

class Screen {
public:
    typedef std::string::size_type pos;    //使用typedef 进行定义
    using   pos = std::string::size_type;  //使用using
 
private:
    pos cursor = 0;
    pos height = 0, width = 0;
    std::string contents;

3.我们用作用域运算符(::)来访问static成员和类型成员,比如可以这样访问上面类的类型成员

Screen::pos hs =10;

4.但是在模板类中,假定T是一个模板类型参数,当编译器在实例化之前遇到类似Screen<T>::pos的时候,它不知道这个pos是一个类型成员还是静态成员。所以C++用typename显式表示模板类中的类型成员

	typename Screen::pos p;//表示这是个类型成员
	Screen::pos = p;//表示这个是静态变量


————————————————
部分内容参考CSDN博主「CPriLuke」的原创文章
原文链接:https://blog.csdn.net/cpriluke/article/details/79246869

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值