1.类的定义
#include<iostream>
using namespace std;
class Person
{
private://只能在类里面调用
int age,height;
double money;
string books[100];
public://其他地方也可以用
string name;
void say(){
cout<<" i am"<<name<<endl;
}
int get_age()
{
return age;
}
void add_money(double x)
{
money +=x;
}
}; //一定要分号
int main(){
return 0;
}
类中的变量和函数被统一为类的成员变量。
private后面的内容是私有成员变量,在类的外部不能访问;public后面的内容是公有成员变量,在类的外部可以访问
访问方法 Person c; c.变量即可 注意分清调用类型
int main(){
Person c;
c.name ="chuzi";
//c.age=18;//错误 不是public
cout<<c.get_age()<<endl;
c.add_money(10000);
return 0;
}
结构体和类的作用是一样的,不同点在于类默认是private,结构体则是public
结构体使用关键字struct
2.构造函数和初始化
结构体和类中 我们可以进行构造函数的操作
#include<iostream>
using namespace std;
struct Person
{
int age,height;
double money;
//构造函数
Person(int _age, int _height , double _money)
{
age=_age;
height=_height;//可以在函数内给变量赋值
money=_money;
}
};
int main()
{
Person p(18,180,100);//可以直接给变量赋予初值
return 0;
}
函数需要几个参数必须给几个值 不然会报错 当然 也可以有空函数
也可以用类似数组赋值的方法给结构体的变量赋值
#include<iostream>
using namespace std;
struct Person
{
int age, height;
double money;
};
int main()
{
Person p = { 18,180,100.0 };//可以直接用类数组方法给变量赋予初值
cout << p.money << endl;
return 0;
}
没赋值的变量默认为0
还有一种赋值方法
#include<iostream>
using namespace std;
struct Person
{
int age,height;
double money;
//构造函数
Person(int _age, int _height , double _money) :age(_age),height(_height),money(_money){
};//一种特殊的赋值方式 稍微快一点
};
int main()
{
Person p(18,180,100.0);//可以直接给变量赋予初值
cout<<p.money<<endl;
return 0;
}
这种方法感觉能用 但不太会用