/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 在校学生
* All rightsreserved.
* 文件名称: const总结.cpp
* 作 者:刘旺
* 完成日期:2014年3月16日
* 版本号: v1.0
*
* 输入描述:
* 问题描述:看了贺老师几个视频来总结一下
* 程序输出:
* 问题分析:
*/
#include <iostream>
using namespace std ;
class A{
public:
A():num(0),n(0),s(0){}
A(int i, int j):num(i),n(j){}//static成员变量在类内部初始化可以用构造函数的初始化列表或者采用赋值,
//但是如果在类的外部定义构造函数将不能采用复制只能使用初始化列表
//突然发现构造函数的形参还不能为引用
int getN()const ; //const成员函数可以调用const成员函数然而const成员函数不能调用非const成员函数
int getNum() ; //
private:
const int num ;
const int n ;
mutable int s ;
};
int A::getN()const//定义中也不能省去const
{
s = 10 ; //当对象为const时要想修改成员属性必须要要用mutable来声明
//num = 0 ; error!const成员函数不能改变对象的成员属性但是可以访问
return n ;
}
int A::getNum()
{
return num ;
}
int main()
{
const A t(2,2) ; //const对象必须要有初值
//t.getNum() ; 当c对象为const时将不能使用非const访问和改变成员属性属性在codeblock里const对象直接不能调用非const成员函数
cout << "n=" << t.getN() << endl ;
A a ;
cout << "num=" << a.getNum() ;
return 0 ;
}
Const---【const对象和const成员函数及const成员属性总结】
最新推荐文章于 2021-01-08 10:54:53 发布