support bazel complie this project and format code.
This commit is contained in:
13
practical_exercises/10_day_practice/day4/const/BUILD
Normal file
13
practical_exercises/10_day_practice/day4/const/BUILD
Normal file
@@ -0,0 +1,13 @@
|
||||
# please run `bazel run //practical_exercises/10_day_practice/day4/const:obj_func`
|
||||
# please run `bazel run //practical_exercises/10_day_practice/day4/const:obj_ref`
|
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary")
|
||||
|
||||
cc_binary(
|
||||
name = "obj_func",
|
||||
srcs = ["obj_func.cpp"],
|
||||
)
|
||||
cc_binary(
|
||||
name = "obj_ref",
|
||||
srcs = ["obj_ref.cpp"],
|
||||
)
|
40
practical_exercises/10_day_practice/day4/const/obj_func.cpp
Normal file
40
practical_exercises/10_day_practice/day4/const/obj_func.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#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
|
||||
|
||||
return 0;
|
||||
}
|
27
practical_exercises/10_day_practice/day4/const/obj_ref.cpp
Normal file
27
practical_exercises/10_day_practice/day4/const/obj_ref.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
#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是常对象,不能被更新
|
||||
|
||||
return 0;
|
||||
}
|
||||
void display(const double &r)
|
||||
//常引用做形参,在函数中不能更新 r所引用的对象。
|
||||
{
|
||||
cout << r << endl;
|
||||
}
|
8
practical_exercises/10_day_practice/day4/const/readme.md
Normal file
8
practical_exercises/10_day_practice/day4/const/readme.md
Normal file
@@ -0,0 +1,8 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¡<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¡<EFBFBD>
|
||||
const <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD> &<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><EFBFBD>,<2C><><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD>¡<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> const <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ز<EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¡<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> const <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B><>С]...
|
||||
<EFBFBD><EFBFBD>ָ<EFBFBD>룺ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>롣
|
Reference in New Issue
Block a user