21xrx.com
2024-12-22 23:16:54 Sunday
登录
文章检索 我的文章 写文章
C++中实例变量与类变量的区别及应用举例
2023-07-04 20:16:09 深夜i     --     --
C++ 实例变量 类变量 区别 应用举例

C++是一种面向对象的编程语言,类是C++中面向对象编程的核心概念,类中的变量分为实例变量和类变量两种类型。这两种变量在使用时具有不同的特性和用途。

实例变量是在类的实例化时创建的变量,每个实例都有一份独立的实例变量,它们相互之间是不受影响的。在类的实例中,实例变量可用于存储对象的状态和数据,为对象提供自己的独特特性,是一个对象的重要组成部分。实例变量的定义方式为在类的声明中声明变量作为类的成员,在构造函数中为实例变量分配空间并初始化。

而类变量则是在类定义时就已经存在的变量,属于整个类,而不是某个实例。类变量可以为所有对象共享,也可以是私有的,它们的值在整个程序运行过程中都是可见的。类变量一般被称为静态变量,定义为static关键字。在类变量中保存的数据可以被多个实例共享,类变量一般用于存储全局信息,而不是存储某个具体对象的信息。类变量的定义方式为在类的声明中声明变量作为static关键字的类变量,在类的定义外部进行初始化。

下面举例说明两种变量的应用。

1.实例变量的应用

class Person{

public:

  int age;

  string name;

  Person(int a, string n)

    age = a;

    name = n;

  void display()

    cout<<"Name: "< <

    cout<<"Age: "< <

};

int main(){

  Person p1(25, "Tom");

  Person p2(30, "Lily");

  p1.display();

  p2.display();

  return 0;

}

在上面的示例代码中,我们定义了一个Person类,该类有两个实例变量age和name,分别保存人员的年龄和姓名。在main函数中,我们创建了两个Person实例p1和p2,并将不同的数据存储在每个实例中。在展示信息之前,我们分别调用了p1和p2的display函数,该函数使用实例变量输出了人员的姓名和年龄。由此可见每个实例都有自己独立的数据,不会相互影响。

2.类变量的应用

class Book{

public:

  string title;

  string author;

  static int count;

  Book(string t, string a){

    title = t;

    author = a;

    count++;

  }

};

int Book::count = 0;

int main(){

  Book b1("C++", "John");

  Book b2("Java", "Alice");

  cout<<"Total Books: "< <

  return 0;

}

在上面的示例代码中,我们定义了一个Book类,该类有两个实例变量title和author,表示书籍的名称和作者。类变量count记录了整个程序中创建的书籍数量。在Book的构造函数中,我们将count增加1,表示创建了一个新的书籍。在main函数中,我们创建了两个Book实例b1和b2,并使用类变量count输出了书籍的总数量。由此可知,类变量可用于记录所有实例共享的信息,这里它用于记录程序中创建的所有书籍的数量。

总之,实例变量和类变量在C++中都是很有用的概念,根据实际情况来选择合适的变量类型能够帮助我们更好地设计和实现程序。

  
  

评论区

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