update
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
常类型的对象必须进行初始化,而且不能被更新。
|
||||
常引用:被引用的对象不能被更新。
|
||||
const 类型说明符 &引用名
|
||||
常对象:必须进行初始化,不能被更新。
|
||||
类名 const 对象名
|
||||
常数组:数组元素不能被更新。
|
||||
类型说明符 const 数组名[大小]...
|
||||
常指针:指向常量的指针。
|
||||
24
practical_exercises/10_day_practice/day4/const用法/常对象与常引用.cpp
Normal file
24
practical_exercises/10_day_practice/day4/const用法/常对象与常引用.cpp
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
#include<iostream>
|
||||
using namespace std;
|
||||
void display(const double& r);
|
||||
|
||||
class A
|
||||
{
|
||||
public:
|
||||
A(int i,int j) {x=i; y=j;}
|
||||
private:
|
||||
int x,y;
|
||||
};
|
||||
int main()
|
||||
{ double d(9.5);
|
||||
display(d);
|
||||
A const a(3,4); //a是常对象,不能被更新
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
void display(const double& r)
|
||||
//常引用做形参,在函数中不能更新 r所引用的对象。
|
||||
{ cout<<r<<endl; }
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#include<iostream>
|
||||
using namespace std;
|
||||
class R
|
||||
{ public:
|
||||
R(int r1, int r2){R1=r1;R2=r2;}
|
||||
//const区分成员重载函数
|
||||
void print();
|
||||
void print() const;
|
||||
private:
|
||||
int R1,R2;
|
||||
};
|
||||
/*
|
||||
常成员函数说明格式:类型说明符 函数名(参数表)const;
|
||||
这里,const是函数类型的一个组成部分,因此在实现部分也要带const关键字。
|
||||
const关键字可以被用于参与对重载函数的区分
|
||||
通过常对象只能调用它的常成员函数
|
||||
*/
|
||||
|
||||
void R::print()
|
||||
{
|
||||
cout<<"普通调用"<<endl;
|
||||
cout<<R1<<":"<<R2<<endl;
|
||||
}
|
||||
//实例化也需要带上
|
||||
void R::print() const
|
||||
{
|
||||
cout<<"常对象调用"<<endl;
|
||||
cout<<R1<<";"<<R2<<endl;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
R a(5,4);
|
||||
a.print(); //调用void print()
|
||||
//通过常对象只能调用它的常成员函数
|
||||
const R b(20,52);
|
||||
b.print(); //调用void print() const
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user