案例描述:
设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号
思路分析:
1. 头文件包含和命名空间使用
#include<iostream>
:包含标准输入输出流库,使程序能够使用cout
和endl
进行输出操作。#include<string>
:包含字符串处理库,以便在程序中使用string
类型来表示学生的姓名。using namespace std;
:使用标准命名空间,这样就可以在代码中直接使用标准库中的类和函数,而无需添加std::
前缀。
2. 定义学生类 student
- 类定义:使用
class
关键字定义了一个名为student
的类,用于表示学生实体。 - 公共权限:
public
关键字声明了类的成员(属性和方法)为公共成员,可以在类的外部直接访问。 - 属性:
m_name
:类型为string
,用于存储学生的姓名。m_id
:类型为int
,用于存储学生的学号。
- 行为:
showstudent()
方法:该方法的返回类型为void
,即不返回任何值。方法内部使用cout
输出学生的姓名和学号信息。
3. main
函数
main
函数:程序的入口点,所有的 C++ 程序都从main
函数开始执行。- 对象实例化:
student s1;
:创建了student
类的一个对象s1
。student s2;
:创建了student
类的另一个对象s2
。
- 属性赋值:
s1.m_name = "张三";
和s1.m_id = 1;
:分别为对象s1
的m_name
和m_id
属性赋值。s2.m_name = "李四";
和s2.m_id = 2;
:分别为对象s2
的m_name
和m_id
属性赋值。
- 调用成员函数:
s1.showstudent();
:调用s1
对象的showstudent()
方法,输出s1
的姓名和学号信息。s2.showstudent();
:调用s2
对象的showstudent()
方法,输出s2
的姓名和学号信息。
- 返回值:
return 0;
表示程序正常结束。
代码实现:
方法一:
#include<iostream>
#include<string>
using namespace std;
//设计学生类
class student{
public: //公共权限
//属性
string m_name; //姓名
int m_id; //学号
//行为
//显示姓名和学号
void showstudent(){
cout << "学生姓名:" << m_name << " id:" << m_id << endl;
}
};
int main(){
//创建一个具体学生,实例化对象
student s1;
//给s1对象 进行属性赋值操作
s1.m_name = "张三";
s1.m_id = 1;
//显示学生信息
s1.showstudent();
student s2;
s2.m_name = "李四";
s2.m_id = 2;
s2.showstudent();
return 0;
}
方法二:
#include<iostream>
#include<string>
using namespace std;
//设计学生类
class student{
public: //公共权限
//属性
string m_name; //姓名
int m_id; //学号
//行为
//显示姓名和学号
void showstudent(){
cout << "学生姓名:" << m_name << " id:" << m_id << endl;
}
//给姓名赋值
void setname(string name){
m_name = name;
}
//给id赋值
void setid(int id){
m_id = id;
}
};
int main(){
//创建一个具体学生,实例化对象
student s1;
//给s1对象 进行属性赋值操作
s1.setname("张三");
s1.setid(1);
//显示学生信息
s1.showstudent();
student s2;
s2.setname("李四");
s2.setid(2);
s2.showstudent();
return 0;
}