#ifndef & #define
我们为我们的类创建了单独的头文件和源文件,生成的头文件内容如下。
#ifndef MYCLASS_H
#define MYCLASS_H
class MyClass
{
public:
MyClass();
protected:
private:
};
#endif // MYCLASS_H
ifndef 代表“如果没有定义”。
endif 结束条件。
这可以防止头文件在一个文件中被多次包含。

成员函数
让我们在我们的类中创建一个名为 myPrint() 的示例函数。
MyClass.h
class MyClass
{
public:
MyClass();
void myPrint();
};
MyClass.cpp
#include "MyClass.h"
#include <iostream>
using namespace std;
MyClass::MyClass() {
}
void MyClass::myPrint() {
cout <<"Hello MYFRIEND"<<endl;
}
由于 myPrint() 是一个常规的成员函数,因此有必要在声明和定义中指定它的返回类型。

class Sally {
public:
Sally();
void myPrint();
};
点操作
接下来,我们将创建一个 MyClass 类的对象,并使用点(.)运算符调用它的 myPrint() 函数:
#include "MyClass.h"
int main() {
MyClass obj;
obj.myPrint();
}
// 输出 "Hello"

int main(){
Sally obj;
obj.myPrint();
}
指针
我们也可以使用指针来访问对象的成员。
以下指针指向obj对象:
MyClass obj;
MyClass *ptr = &obj;
指针的类型是 MyClass,因为它指向该类型的对象。

Sally obj;
Sally *sallyPtr = &obj
选择操作符
箭头成员选择操作符( ->)用于通过指针访问对象的成员。
MyClass obj;
MyClass *ptr = &obj;
ptr->myPrint();
//p是指向结构的指针,p的值是一个地址,地址无法用点运算符调用结构成员,但是可以用箭头运算符->调用结构成员,就这么简单,一点都不神秘。
使用对象时,使用点成员选择操作符(.)。
使用指向对象的指针时,请使用箭头成员选择操作符( ->)。

文章评论