CSP语法题基础(四)
CSP算法题基础(4)
类:将变量、函数、数组完美打包的一种方式
private 只能在类内调用
public 类内、类外都能调用
并且public\private能写多个
#include <iostream>
using namespace std;
class Person{
private:
int age;
int money = 0;
public:
string name;
void add_money(int i){
money+=i;
}
void get_age(){
return age; //age是私有,只能在class里,正确
}
private:
}c,person[100]; //也可以直接在类后面写一个变量c,或者也可以写一个数组表示定义100个
int main(){
Person c;
//也可以在下面定义一个数组的人
Person c[1000];
c.name = "liufeng"; //正确,name定义的是公有变量,可以在类之外访问
c.age = 22; //错误,age定义的是私有变量,在class外不能访问
c.add_money(10000); //正确,add_money是公有
cout << c.get_age();
return 0;
}
结构体是精简版的class。类要是不加private或则public默认是private;但是结构不加的话,默认是public
习惯上把和数据相关的定义成结构体;
把代码长,功能多的定义成类
构造函数和类比较像。定义结构体的话,可以考虑使用构造函数,有构造函数的结构体批量生产的出的个体比较高度定制化,各自略有不同,不同点就是构造函数的参数
struct Person{
int age,height;
double sal;
//构造函数 没有返回类型,名字必须与结构体相同 可以根据需求传递参数,使得造出来的不一样
Person(){} //没有参数的构造函数 默认构造
Person(int _age,int _height,int sal){
age = _age;
height = _height;
sal = _sal;
}
}
int main(){
Person p1(22,181,10000);
Person p2;
return 0;
}