1.构造函数的名称和类名一样。
2.私有变量:private:变量
公有:函数
3.调用成员函数用:对象名.函数名
代码如下:
#include<iostream> using namespace std; class Box { private: //私有变量可以理解为属性,也就是说Box这个类都有长宽高这三个属性 int x,y,z; //x,y,z私有变量,只有类内可以访问,公有的变量或者函数类外也可以访问 public: Box(){} //构造函数 Box(int a=0,int b=0,int c=0) { //构造函数的名称和类名是一样的,构造函数所带的参数默认为0,传来的参数可以把默认的参数值覆盖 x=a; y=b; z=c; cout<<"x="<<x<<" "<<"y="<<y<<" "<<"z="<<z<<"\n"; } //成员函数 int ask_s(){ //函数里面不需要传进来什么数 return 2*(x*y+y*z+x*z); //x,y,z=a,b,c=0,0,0 } int ask_v(){ return x*y*z; } }; int main(){ Box box1(0,0,0); //Box:类 box1:对象(实例) 人是一类生物,也是一个类,a这个个体就是人的一个实例 Box box1()表示调用构造函数 cout<<"s="<<box1.ask_s()<<"\n"; //对象名.函数名(参数)去调用成员函数,调用后的值就是函数返回值,这里返回的表面积值为0 cout<<"v="<<box1.ask_v()<<"\n"; Box box2(10,0,0); //构造之后box2的x,y,z就有了值 类有成员变量和成员函数,box2是类的一个对象,它就有它自己的变量值和成员函数 cout<<"s="<<box2.ask_s()<<"\n"; //人这个类都有身高、体重(属性/变量),人可以搬东西(动作/函数),那每个个体都有自己的身高、体重值和可以实现的动作 cout<<"v="<<box2.ask_v()<<"\n"; Box box3(10,20,0); cout<<"s="<<box3.ask_s()<<"\n"; cout<<"v="<<box3.ask_v()<<"\n"; Box box4(10,20,30); cout<<"s="<<box4.ask_s()<<"\n"; cout<<"v="<<box4.ask_v()<<"\n"; return 0; }
也可以换一种编写成员函数的方式:
二 、类与对象(指针变量)
、
1.对象数组的命名
2.
代码如下:
#include<iostream> #include<string> using namespace std; class Stu { public: string id; float score; Stu(){} Stu(string stu_id,float stu_score){ id=stu_id; score=stu_score; } }; Stu max(Stu *x){ //x是Stu的指针类型,x=stus数组的地址,x[i]表示stus[i] float maxn=0; int ans=0;//ans记录分数最高的学生的下标 for(int i=0;i<5;i++){ if(x[i].score>maxn){ ans=i; maxn=x[i].score; } } return x[ans]; } int main(){ Stu stus[5];//对象数组,包含5个学生个体 for(int i=0;i<5;i++){ string a;
float b; cin>>a>>b; stus[i]=Stu(a,b); } Stu person=max(stus); cout<<person.id<<" "<<person.score<<"\n"; return 0; }
天梯赛:1.
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int main(){ 5 int a[100000]; 6 int n; 7 cin>>n; 8 for(int i=1;i<=n;i++){ 9 cin>>a[i]; 10 } 11 sort(a+1,a+1+n); 12 for(int i=1;i<=n;i++){ 13 cout<<a[i]<<' '; 14 } 15 cout<<endl; 16 return 0; 17 }View Code
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n;
cin>>n;
int a[100005];//原本写a[n],但是4、5两行表示 n为变量,所以在[]内放一个足够大的数字
for(int i=1;i<=n;i++){
cin>>a[i];//i表示第几个数
}
sort(a+1,a+1+n);//sort自动排序完成
for(int i=1;i<=n;i++)//要把排序后的数字挨着挨着表示出来
{
cout<<a[i]<<' ';//一个一个输出排序后的数字//回忆for循环的执行顺序
}
cout<<endl;
return 0;
}
2
3、
4.
5. 水仙花数
所有各位数的立方和等于本身的三位数,例如 153=13+53+33 .
输入格式
无
输出格式
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行
代码如下:
#include<iostream> using namespace std; bool check(int x){ int a=x; int sum=0; while(a){ int num=a%10; sum=sum+num*num*num; a/=10; } if(sum==x) return true; else return false; } int main(){ for(int i=100;i<=999;i++){ if(check(i)){ cout<<i<<endl; } } }
标签:std,stus,score,int,学习,Stu,第二周,include From: https://www.cnblogs.com/Wanglimin/p/17289123.html