《C++ Primer第四版》学习笔记(七)变量和基本类型 - typedef、枚举、类

typedef

三种目的:
1. 为了隐藏特性的实现,强调使用类型的目的
2. 简化复杂的类型定义,使其更容易理解
3. 允许一种类型用于多个目的,同时使得每次使用该类型的目的明确(API的设计中,非常常见)

枚举

(一)定义和初始化
#include<iostream>
#include<string>
int main()
{
     enum open_modes{input, output, append};
     std::cout << input << output << append << std::endl;
     return 0;
}


(二)枚举成员是常量
可以为一个或者多个枚举成员提供初始值,用来初始化枚举成员的值必须是一个常量表达式
值可以重复,不唯一
#include<iostream>
int main()
{
     enum open_modes{input=1, output, append=1};
     std::cout << input << output << append << std::endl;
     return 0;
}

(三)每个枚举都是一种独特的类型
#include<iostream>
int main()
{
     enum open_modes{input=1, output, append=1};\
     open_modes om = input;
     std::cout << input << output << append << std::endl;
     std::cout << om << std::endl;
     return 0;
}


类类型(简要概念)

C++中,通过定义类来定义数据类型。
1. 每个类都有一个接口(interface)和一个实现(implementation),接口指的是public部分,实现是外界看不到的private数据和一些不供外部使用的函数
2. 简单定义一个类
#include<iostream>
#include<string>
class Sales_item{
     public:
          void assignment(std::string s, unsigned u, double r)
          {     isbn = s; units_sold = u; revenue = r;     }
          void output()
          {
               std::cout << isbn << '\t' << units_sold << '\t' << revenue << std::endl;
          }
     private:
          std::string isbn;
          unsigned units_sold;
          double revenue;
     };
int main()
{
    
     Sales_item si;
     si.assignment("978-7-115-14554-3", 100, 30.5);
     si.output();
     return 0;
}

3. 操作称为成员函数,数据称为数据成员。 定义数据成员时一般不初始化,而在构造函数完成此初始化
4. 类标号:public、private、protected
5. 用class和struct关键字定义类的唯一区别是默认访问级别:struct默认public,class默认private

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值