support bazel complie this project and format code.
This commit is contained in:
8
basic_content/this/BUILD
Normal file
8
basic_content/this/BUILD
Normal file
@@ -0,0 +1,8 @@
|
||||
# please run `bazel run basic_content/this:person`
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary")
|
||||
|
||||
cc_binary(
|
||||
name = "person",
|
||||
srcs = ["person.cpp"],
|
||||
copts = ["-std=c++11"]
|
||||
)
|
Binary file not shown.
@@ -1,41 +1,32 @@
|
||||
#include<iostream>
|
||||
#include<cstring>
|
||||
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
class Person{
|
||||
class Person {
|
||||
public:
|
||||
typedef enum {
|
||||
BOY = 0,
|
||||
GIRL
|
||||
}SexType;
|
||||
Person(char *n, int a,SexType s){
|
||||
name=new char[strlen(n)+1];
|
||||
strcpy(name,n);
|
||||
age=a;
|
||||
sex=s;
|
||||
}
|
||||
int get_age() const{
|
||||
|
||||
return this->age;
|
||||
}
|
||||
Person& add_age(int a){
|
||||
age+=a;
|
||||
return *this;
|
||||
}
|
||||
~Person(){
|
||||
delete [] name;
|
||||
}
|
||||
typedef enum { BOY = 0, GIRL } SexType;
|
||||
Person(char *n, int a, SexType s) {
|
||||
name = new char[strlen(n) + 1];
|
||||
strcpy(name, n);
|
||||
age = a;
|
||||
sex = s;
|
||||
}
|
||||
int get_age() const { return this->age; }
|
||||
Person &add_age(int a) {
|
||||
age += a;
|
||||
return *this;
|
||||
}
|
||||
~Person() { delete[] name; }
|
||||
|
||||
private:
|
||||
char * name;
|
||||
int age;
|
||||
SexType sex;
|
||||
char *name;
|
||||
int age;
|
||||
SexType sex;
|
||||
};
|
||||
|
||||
int main() {
|
||||
Person p("zhangsan", 20, Person::BOY);
|
||||
cout << p.get_age() << endl;
|
||||
|
||||
int main(){
|
||||
Person p("zhangsan",20,Person::BOY);
|
||||
cout<<p.get_age()<<endl;
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user