立即学习:https://edu.csdn.net/course/play/9186/191689?utm_source=blogtoedu
#include<iostream>
#include "student.h"
using namespace std;
//struct student
class student{
public: //结构成员缺省都有public属性,所以可以不加public
//成员变量
//private: //私有的
int number; //学号
char name[100]; //学生名
void func();
};
//student.cpp
void student::func()
{
number++;
return;
}
//void func(student tmpstu) //形参用结构变量
//void func(student &tmpstu) //形参变成引用
//{
// tmpstu.number = 2000;
// strcpy_s(tmpstu.name, sizeof(tmpstu.name), "who");
// return;
//}
//void func(student* ptmstu) //用指向结构体的指针做结构体
//{
// ptmstu->number = 2000;
// strcpy_s(ptmstu->name, sizeof(ptmstu->name), "who");
// return;
//}
int main()
{
student student1;
student1.number = 1001;
strcpy_s(student1.name, sizeof(student1.name), "zhnagsan");
student1.func();
//一:结构回顾
// student student1; //定义结构类型, 这里可以省略struct,直接用结构名student;
// student1.number = 1001;
// strcpy_s(student1.name, sizeof(student1.name), "zhangsan");
// cout << student1.number << endl;
// cout << student1.name << endl;
func(student1); //效率低,因为 实参传递给形参是发生了内存内容的一个拷贝
func(&student1);
//
// student1.func();// 调用成员函数
// cout << student1.number << endl;
// cout << student1.name << endl;
//用指向结构和c中的结构有什么区别吗?
//C++中的结构除具备了c中结构的所有功能外,还增加了很多的扩展功能,其中最突出的扩展功能之一是
//c++中的结构不仅仅有成员变量,还可以在其中定义成员函数(方法)
//用
return 0;
}