`
clark1231
  • 浏览: 253506 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

What’s the difference between a class variable and an instance variable?

c++ 
阅读更多

 

What’s the difference between a class variable and an instance variable?

 

Knowing the terminology is important. Instance variables and class variables are both member variables. They are both member variables because they are both associated with aspecificclass. But, there are differences between instance variables and class variables.

Instance variables

Instance variables belong to an instance of a class. Another way of saying that is instance variables belong to an object, since an object is an instance of a class. Every object has it’s own copy of the instance variables. Here is what a declaration of an instance variable would look like:

Example of an instance variable:

class Taxes
{
  int count;
  /*...*/
}

Class variables – also known as static member variables

Class variables, however, only haveonecopy of the variable(s) shared with all instances of the class. It’s important to remember thatclass variables are also known as static member variablesin C++, Java, and C#. Each object of the class does not have its own copy of a class variable. Instead, every object shares theone and onlycopy of that class variable – and any changes made to that copy are seen by all of the objects of that class. Here is what a class variable – or a static member variable – would look like in C++:

Example of a class variable:

class Taxes
{
  static int count;
  /*...*/
}

Difference between class and instance variables

Now, it should be clear what the difference between instance and class variables is. Class variables only have one copy that is shared by all the different objects of a class, whereas every object has it’s own personal copy of an instance variable. So, instance variables across different objects can have different values whereas class variables across different objects can have only one value.

Class and Instance variables are both Member variables

Here’s a little diagram to help you remember the differences between instance and class variables:

分享到:
评论

相关推荐

    Z_08年阿尔卡特笔试面试题(无答案)

    1-1 In UMTS,what’s the difference between AAL2 and AAL5? 1-2 In UMTS,what do FDD and TDD mean? 1-3 Describe the processor of hardover and soft handover? 1-4 Describe the spread mechanism used in UMTS...

    java面试题英文版及其答案

    s built-in support for multithreading through the Thread class and the Runnable interface. By creating and starting multiple threads, a Java application can perform several operations simultaneously, ...

    UNIX编程常见问题解答

    1.1.2 What's the difference between fork() and vfork()? 1.1.3 Why use _exit rather than exit in the child branch of a fork? 1.2 Environment variables 1.2.1 How can I get/set an environment ...

    SSD7 选择题。Multiple-Choice

    (b) the name of the table, the names of the table's attributes, the data types of the table's attributes, the formats of the table's attributes, and the maximum number of rows that the table can have...

    嵌入式系统固件揭秘(英文版)

    What is the difference between a task and a process? Do I need to worry about reentrancy? As we progress through Embedded Systems Firmware Demystified, you will come to see that these questions are ...

    tc英文版,c语言的经典学习工具,1M而已

    What is the difference between TC.EXE and TCC.EXE? A. The Turbo C package comes with two compilers, an Integrated Environment named TC.EXE and a command-line compiler named TCC.EXE. The Integrated...

    2009 达内Unix学习笔记

    ftp工具 192.168.0.202 tools-toolss 老师测评网址 http://172.16.0.198:8080/poll/ 各个 shell 可互相切换 ksh:$ sh:$ csh:guangzhou% bash:bash-3.00$ 一、注意事项 命令和参数之间必需用空格隔开,参数和...

    java英文笔试

    What is the difference between an abstract class and an interface? **Answer**: In Java, an abstract class can have both abstract and non-abstract (concrete) methods, whereas an interface can only ...

    深入java虚拟机(inside the java virtual machine)

    What's in a Class File? Special Strings Fully Qualified Names Simple Names Descriptors The Constant Pool The CONSTANT_Utf8_info Table The CONSTANT_Integer_info Table The CONSTANT_Float_info ...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    Correct use of header files can make a huge difference to the readability, size and performance of your code. The following rules will guide you through the various pitfalls of using header files. ...

    高中英语 知识点大全112 如何表示“不同,区别”

    `: 这是一种询问差异的直接方式,例如:“What’s the difference between a laptop and a desktop computer?” 询问笔记本电脑和台式电脑的不同之处。 4. `There be some differences between A and B`: 这句话...

    The Designer s Guide to High-Purity Oscillators

    regulated by the system’s energy balance rather than an external input. This unique property makes the study of oscillators both complicated and fascinating. In the field of electrical circuits, the ...

    The.Difference.Between.PC.Architectures.epub

    A computer's architecture is its abstract model and is the programmer's view in terms of instructions, addressing modes and registers. A computer's organization expresses the realization of the ...

    Yunus, Muhammad - Creating A World Without Poverty; Social Business and the Future of Capitalism

    The Difference between Social Business and Social Entrepreneurship What about a "Hybrid"? Past Attempts to Combine Social Goals with Traditional Business Where Will Social Businesses Come From? ...

    Unit2 What's the matter, Mike测试题及答案A卷2.doc

    Unit2 What's the matter, Mike测试题及答案A卷2.doc

    JSP Simple Examples

    This unit is discovered by Celsius in 1742, a Swedish astronomer and physicist, he has invented the centigrade, or Celsius thermometer divided between the freezing and boiling points of water into ...

    Pro PHP Application Performance

    When seconds can mean the difference between retaining a user and losing a user, it's important for all of us to have optimization as part of our project roadmap. But what components within your ...

    C# Game Programming Cookbook for Unity 3D - 2014

    4.2 The Timer Class....................................................43 4.2.1 Script Breakdown..........................................45 4.3 Spawn Scripts.............................................

Global site tag (gtag.js) - Google Analytics