21xrx.com
2024-09-20 00:01:48 Friday
登录
文章检索 我的文章 写文章
C++类的函数如何被引用
2023-07-05 04:43:06 深夜i     --     --
C++类 函数 引用

在C++的面向对象编程中,类的函数对于程序的功能实现起着非常重要的作用,因此如何正确引用C++类的函数也是学习C++的重要环节之一。

一、定义类及其函数

在C++中,使用class关键字定义一个类,其中函数可以定义在类的内部或者外部。当定义函数在类的外部时,需要在类的内部声明函数,并在类外部进行定义。

例如下面的代码定义了一个名为Person的类,其中包含age、name等属性以及print()、eat()两个函数。


class Person{

  public:

    int age;

    string name;

    void print();

    void eat()

      cout<<"I am eating"<<endl;

    

};

void Person::print()

  cout<<"My name is "<<name<<" and I am "<<age<<" years old"<<endl;

二、调用类的函数

调用类的函数有两种方式:对象.函数名(常用)和指针->函数名(不常用)。其中,使用对象.函数名方式调用类的函数是最为常用的方式,即将类的对象通过点号“.”连接需要调用的函数。

例如以下代码中,创建了一个名为person1的Person类对象,然后使用person1.print()和person1.eat()分别调用了类中的print()和eat()两个函数:


int main(){

  Person person1;

  person1.age = 20;

  person1.name = "Lucy";

  person1.print();

  person1.eat();

  return 0;

}

此时输出结果为:


My name is Lucy and I am 20 years old

I am eating

三、在类的函数中引用类的其他函数

有时候在类的函数中需要引用到类的其他函数,可以使用“this->函数名”的方式。其中,“this”指向当前的对象,使用->可以链接函数名。

例如以下代码,定义了一个新的函数sleep(),其中使用了this->print()方式引用了类中的print()函数。


class Person{

  public:

    int age;

    string name;

    void print();

    void eat()

      cout<<"I am eating"<<endl;

    

    void sleep(){

      this->print();

      cout<<"I am sleeping"<<endl;

    }

};

void Person::print()

  cout<<"My name is "<<name<<" and I am "<<age<<" years old"<<endl;

使用以下代码调用类中的sleep()函数:


int main(){

  Person person1;

  person1.age = 20;

  person1.name = "Lucy";

  person1.sleep();

  return 0;

}

此时输出结果为:


My name is Lucy and I am 20 years old

I am sleeping

总之,C++类的函数在使用时,需要先定义类和类的函数,然后使用对象.函数名的方式调用类的函数。在类的函数中,可以使用this->函数名的方式引用类的其他函数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复