本文主要是介绍C++ 类和对象浅解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<iostream>
#include <string.h>
using namespace std;struct student{int id; //成员变量或对象char name[64];int age;int score;//...
};
typedef struct student STU;void modify_stu_name(STU* pstu,const char*new_name)
{strcpy(pstu->name, new_name);
}
void modify_stu_score(STU*pstu,const int new_score)
{pstu->score = new_score;
}
void show_stu(STU*pstu)
{cout<<"id="<<pstu->id<<endl;cout<<"name="<<pstu->name<<endl;cout<<"age="<<pstu->age<<endl;cout<<"score="<<pstu->score<<endl;}
class Student{
private://属性int id; //成员变量或对象char name[64];int age;int score;public://成员方法或函数//行为Student(){}Student(int i,const char*n,int a,int s){id=i,strcpy(name,n),age=a,score=s;}void modify_stu_name(const char*new_name){strcpy(name, new_name);}void modify_stu_score(const int new_score){score = new_score;}void show_stu(){cout<<"id="<<id<<endl;cout<<"name="<<name<<endl;cout<<"age="<<age<<endl;cout<<"score="<<score<<endl;}
};//end class Studentint main()
{
// Student s ={1001,"wangwu",20,99};Student s(1001,"wangwu",20,99);s.id =1003;s.modify_stu_name("maliu");s.modify_stu_score(95);s.show_stu();struct student stu={1001,"zhangsan",20,100};stu.id = 1002;modify_stu_name(&stu,"lisi");modify_stu_score(&stu,90);show_stu(&stu);
#if 0
//err: name[64] = "lisi";const char *p ="lisi";
// p[0] = 'k';strcpy(stu.name,"lisi");strcpy(stu.name,p);cout<<stu.name<<endl;stu.score = 90;cout<<stu.score<<endl;
#else
#endif
#if 0name[0] = 'l';name[1] = 'i';name[2] = 's';name[3] = 'i';name[4] = '\0';
#else
// strcpy(name, "lisi");
#endif
// cout<<name<<endl;//此“zhangsan”放在栈,因为name属于栈空间的char name []="zhangsan";return 0;
}
这篇关于C++ 类和对象浅解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!