关键字:指针、结构体、类、C/C++
一、类&结构体
1、类-关键字class
语法:(推荐使用visual studio 2019编译器)
class MyClass
{
public: //public:属性是公有属性,public属性的成员在类外可以被访问
MyClass();
~MyClass();
private: //私有属性,private属性的成员在类外不可以被访问
//但是可以通过类部构造函数简介访问
};
MyClass::MyClass()
{}
MyClass::~MyClass()
{}
要点:
1、 public:属性是公有属性,public属性的成员在类外可以被访问。
2、私有属性,private属性的成员在类外不可以被访问,但是可以通过类部构造函数简介访问。
- 指针:
指针是一个变量,它的值是一些变量的地址,又被称为指针变量,指针指向变量的值;如:
对其声明和赋值
int* p=nullptr;
int num=12;
p=#
std::cout<<p<<*p<<endl;
运行结果:
001EFCB0 12
那么类指针和结构体指针也是一样的:
#include <iostream>
using namespace std;
class student
{
public:
void inputstdmsg(string name,int age,int grade);
void outputstdmsg();
private:
string _name="";
int _age=0;
int _grade=0;
};
void student::inputstdmsg(string name, int age, int grade)
{
_name = name;
_age = age;
_grade = grade;
}
void student::outputstdmsg()
{
cout << "姓名:"<< _name <<"\n" << "年龄:" << _age <<"\n" << "班级:" << _grade << endl;
}
int main()
{
student student1;
student* stdpr = &student1;
stdpr->inputstdmsg("XiaoMing",19,2);
stdpr->outputstdmsg();
return 0;
}
运行结果:
姓名:XiaoMing
年龄:19
班级:2
2、结构体-关键字struct
struct声明
struct MyStruct
{
};
其实,结构体指针和类指针差不多
#include <iostream>
using namespace std;
void studentmsg(struct STUDENT* _student_);
struct STUDENT
{
string name = "";
int age = 19;
int grade = 1;
}student1;
int main()
{
struct STUDENT* _student_ = &student1;
_student_->name = "LiMing";
studentmsg(_student_);
return 0;
}
void studentmsg(struct STUDENT* _student_)
{
cout << "姓名:" << _student_->name << endl;
cout << "年龄:" << _student_->age << endl;
cout<< "班级:" << _student_->grade << endl;
}
运行结果:
姓名:LiMing
年龄:19
班级:1