34类成员函数的存储
在对象调用函数的同时,向该函数传递了该对象的指针,该指针就是this
36const 修饰符
#include<iostream>
using namespace std;
#if 0
1.const 修饰数据成员 成员函数 类对象
2.修饰数据成员时候,初始化位置只能在参数列表里面
被const 修饰的数据成员 不能被修改
3.修饰成员函数
位置函数声明之后 实现体之前 要求在声明和定义处都要有const 修饰
意义:const 函数承诺 不会修改数据成员
能访问const和非const数据成员 但不能修改 非const 数据成员
只能访问const成员函数
构成重载
const 对象只能调用const 成员函数
非 const对象 优先调用非const成员函数 若无 则可调用const成员函数
4.修饰类对象
const 修饰函数 是从函数的层面 不修改数据
const 修饰对象 是从对象的层面 不修改数据//只能调用const 成员函数
#endif
class A
{
public:
A(int v)
:val(V)
{
}
void dis() const
{
cout<<val<<endl;
//x=200;这个不可以
//print();这个也不可以
cout<<"void dis() const"<<endl
}
void dis()
{
cout<<val<<endl;
cout<<"void dis() "<<endl
}
void print()
{
x=100;
y=200;
}
private:
const int val;//const int val = 10 可以但是不好
int x,y;
}
int main()
{
const A a(5);
a.dis();
return 0;
}