在刚接触c++时候,我们会碰到这种操作符号,
.* or ->*
这两个运算符是什么意思呢?其实就是取一个类的成员变量。当然,在使用成员变量的前提是你得先有成员变量。接下来,我们展示如何定义一个成员变量并且使用它
#include "pch.h"
#include <iostream>
#include <vector>
USING_NS
class Person {
public:
int age;
char name[20];
Person(int age,const char * name) {
this->age = age;
strcpy_s(this->name, name);
}
};
void printPerson(Person p) {
cout << "p name is:" << p.name << " p age is:" << p.age << endl;
}
void printPerson(Person* p) {
cout << "p name is:" << p->name << " p age is:" << p->age << endl;
}
int Person::*nianling = &Person::age; //在这里定义了一个成员指针,指向Person类里面的成员变量age
int main() {
Person p1(15,"lixiaoming");
p1.*nianling = 25;
printPerson(p1);
Person* p2 = new Person(16,"yangxiaomei");
p2->*nianling = 99;
printPerson(p2);
}