C++编程思想 第1卷 第8章 常量 类 类里的const 构造函数初始化列表

常数表达式使用常量的地方之一是在类里

在一个类里,const又部分恢复到它在C语言中的含义。
在每个类对象里分配存储并代表一个值,这个值一旦被初始化以后就不能
改变

在一个类里建立一个普通的const时,不能给它初值

在构造函数里有个专门初始化的地方,这就是构造函数初始化列表,起初用在
继承里

构造函数初始化列表是一个出现在函数参数表和冒号后,在构造函数主体开头
的花括号前的"函数调用列表"
提醒人们,表里的初始化发生在构造函数的任何代码执行之前

 

//: C08:ConstInitialization.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Initializing const in classes
#include <iostream>
using namespace std;

class Fred {
  const int size;
public:
  Fred(int sz);
  void print();
};

Fred::Fred(int sz) : size(sz) {}
void Fred::print() { cout << size << endl; }

int main() {
  Fred a(1), b(2), c(3);
  a.print(), b.print(), c.print();
  getchar();
} ///:~

 

开始时,显示的构造函数初始化列表的形式容易使人们混淆,因为人们不
习惯把一个内建类型看成好像也有一个构造函数

输出
1
2
3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值