support bazel complie this project and format code.

This commit is contained in:
zhangxing
2023-03-30 00:15:11 +08:00
committed by light-city
parent 1f86192576
commit 7529ae3a55
636 changed files with 10025 additions and 9387 deletions

View File

@@ -0,0 +1,8 @@
# please run `bazel run //practical_exercises/10_day_practice/day7/subscript_operator:example`
load("@rules_cc//cc:defs.bzl", "cc_binary")
cc_binary(
name = "exexampleample1",
srcs = ["example.cpp"],
)

View File

@@ -0,0 +1,31 @@
/* []与() 运算符重载 */
#include <iostream>
using namespace std;
class X {
public:
int operator()(int i = 0) {
cout << "X::operator(" << i << ")" << endl;
return i;
};
int operator()(int i, int j) {
cout << "X::operator(" << i << "," << j << ")" << endl;
return i;
};
int operator[](int i) {
cout << "X::operator[" << i << "]" << endl;
return i;
};
int operator[](char *cp) {
cout << "X::operator[" << cp << "]" << endl;
return 0;
};
};
int main(void) {
X obj;
int i = obj(obj(1), 2);
int a = obj[i];
int b = obj["abcd"];
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}