c++笔记总结之常类型

来源:互联网 发布:大师兄 知乎 编辑:程序博客网 时间:2024/06/04 17:58

1.常对象成员

(1)常成员函数

使用const关键词说明的函数为常成员函数,常成员函数说明格式如下:

         <类型> <函数名> (<参数表>) const;

对于常对象成员需要注意一下几点:

①const是函数类型的一个组成部分,因此在实现部分也要带const关键词。

②常成员函数不更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。

③如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,而不能调用其他成员函数。

④const关键词可以参与区分重载函数。例如:void print();和void print() const;是不一样的两个函数。


(2)常数据成员

如果一个类中说明了常数据成员,那么构造函数就只能通过初始化列表对该数据成员进行初始化。例如:

#include<iostream>

using namespace std;

class A

{

private:

        const int a;

        static const int b;

public:

        A(int i);

        void print();

        const int &r;

}


const int A::b = 10;    //静态常数据成员初始化,在类的外部

A::A(int i):a(i),r(a)    //通过初始化列表初始化

{

}

void A::print()

{

        cout<<a<<":"<<b<<":"<<r<<endl;

}


void main()

{

        A a1(100),a2(0);

        a1.print();

        a2.print();

}


该程序的运行结果为:

100:10:100

0:10:0


0 0
原创粉丝点击