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;
}
posted @ 2021-03-10 22:55  _Sandman  阅读(77)  评论(0编辑  收藏  举报