精华内容
下载资源
问答
  • python类成员变量和实例成员变量

    千次阅读 2017-05-12 14:52:39
    # python code class Vehicle:  def __init__(self,... self.speed = speed #speed实例成员变量  def drive(self,distance):  print 'need %f hour(s)'% (distance/self.speed) class Bike(Vehicle

    # python code
    class Vehicle:
      def __init__(self,speed):
      self.speed = speed #speed实例成员变量

      def drive(self,distance):
      print 'need %f hour(s)'% (distance/self.speed)

    class Bike(Vehicle):
      pass

    class Car(Vehicle):
      test = 'Car_original'
      def __init__(self,speed,fuel):
      Vehicle.__init__(self,speed)
      self.fuel = fuel

      def drive(self,distance):
      Vehicle.drive(self,distance)
      print 'need %f fuels'%(distance*self.fuel)

    b = Bike(16.0)
    c = Car(120,0.015)
    b.drive(200.0)
    c.drive(200.0)

    c2 = Car(120,0.015)
    c3 = Car(120,0.015)

    print
    print '情形1: c2中test成员尚未进行过修改,c3中对test进行过修改, car不变'
    c3.test = 'c3_test'
    print c2.test
    print c3.test
    print Car.test

    print
    print '情形2: c2尚未对类成员变量test进行过修改,类car中test成员改变'
    Car.test = 'Car_changed'
    print 'Car test: '+Car.test
    print 'c2 test: '+c2.test
    print 'c3 test: '+c3.test

    print
    print '情形3: c2 c3实例中都对test进行过修改,car中成员test再次改变'
    c2.test = 'c2_test'
    Car.test = 'Car_changed_again'

    print 'Car test: '+Car.test
    print 'c2 test: '+c2.test
    print 'c3 test: '+c3.test


    运行结果:
    need 12.500000 hour(s)
    need 1.666667 hour(s)
    need 3.000000 fuels

    情形1: c2中test成员尚未进行过修改,c3中对test进行过修改, car不变
    Car_original
    c3_test
    Car_original

    情形2: c2尚未对类成员变量test进行过修改,类car中test成员改变
    Car test: Car_changed
    c2 test: Car_changed
    c3 test: c3_test

    情形3: c2 c3实例中都对test进行过修改,car中成员test再次改变
    Car test: Car_changed_again
    c2 test: c2_test
    c3 test: c3_test

    分析;
    test是类变量
    speed, fuel是实例变量

    一个类的类变量为所有该类型成员共同拥有,可以直接使用类型名访问( print Car.test),可以使用类型名更改其值( Car.test = 'Car_changed'

    定义一个类的多个实例对象后(如c2,c3),类成员test的属性:
    1. 实例对象c2定义后尚未修改过类成员(本例中test)之前,c2并没有自己的类成员副本,而是和类本身(class Car)共享,当类Car改变成员test时,c2的成员test自然也是改变的;
    2. 当实例对象中的类成员修改时,该对象才拥有自己单独的类成员副本,此后再通过类本身改变类成员时,该实例对象的该类成员不会随之改变;
    3. 实例变量是在实例对象初始化之后才有的,不能通过类本身调用,所以也不存在通过类本身改变其值,实例成员属于实例本身,同一个类的不同实例对象的实例成员也就自然是各自独立的。
    展开全文
  • Java类成员变量的默认值

    千次阅读 2020-02-27 16:35:33
    1、布尔型(boolean)变量默认值为false,byte、short、int、long为0,字符型为'\u0000'(空字符),浮点型(float double)为0.0,引用类型(String)为null。 package cn.nxl2018; public class T...

    转 : https://www.cnblogs.com/qikeyishu/p/8996259.html

     

    1、布尔型(boolean)变量默认值为false,byte、short、int、long为0,字符型为'\u0000'(空字符),浮点型(float double)为0.0,引用类型(String)为null。

    package cn.nxl2018;
    public class Test {
        private boolean bool;
        private byte bt;
        private short st;
        private char ch;
        private int  i;
        private long l;
        private float f;
        private double d;
        private String str;
        public static void main(String[] args){
            int j;
            Test test=new Test();
            System.out.println(test.bool);//默认值是false
            System.out.println(test.bt);//默认值是0
            System.out.println(test.st);//默认值是0
            System.out.println(test.ch);//默认值是空字符('\u0000')
            System.out.println(test.i);//默认是0
            System.out.println(test.l);//默认是0
            System.out.println(test.f);//默认是0.0
            System.out.println(test.d);//默认是0.0
            System.out.println(test.str);//默认是null
            //System.out.println(j);//The local variable j may not have been initialized(变量可能没有被初始化)
        }
    }

    2、注意:未初始化的局部变量是不可以使用的,在这里可以认为是因为局部变量没有默认值,所以不可以直接使用。空字符('\u0000')什么也不输出,不要认为输出是空格。

    展开全文
  • C++ 未初始化的类成员变量

    千次阅读 2020-03-31 09:42:46
    未初始化的类成员变量 在gcc 4.8.5版本 如果还有未初始化的类成员变量,其值不确定

    未初始化的类成员变量

     

    在gcc 4.8.5版本

    如果还有未初始化的类成员变量,其值不确定

    #include <iostream>
    
    class T {
        public:
            T() {}
    
        float tt;
        int it;
    };
    
    
    int main() {
        float ff;
        cout << ff << endl;
    
        T t1;
        cout << t1.tt << endl;
        cout << t1.it << endl;
    
        return 0;
    }
    

    结果

    [root@mx xsp2]# ./a.out
    0
    -17304.5
    32766
    [root@mx xsp2]# ./a.out
    0
    1.78996e+11
    32767
    [root@mx xsp2]# ./a.out
    0
    2.91494e-38
    32766
    [root@mx xsp2]# ./a.out
    0
    9.19502e+18
    32767
    [root@mx xsp2]# ./a.out
    0
    -3.06696e-30
    32767
    [root@mx xsp2]# ./a.out
    0
    -78.9587
    32764
    

     

     

    展开全文
  • C++: 引用作为类成员变量

    千次阅读 2019-11-05 14:33:21
    引用作为成员变量,需要进行初始化。 示例: class UT_CDiagClientInterface: public ::testing::Test { public: UT_CDiagClientInterface(void) : m_DiagClientInterface(CDiagClientInterface::...

    引用作为类的成员变量,需要进行初始化。

    示例:

    class UT_CDiagClientInterface: public ::testing::Test
    {
    public:
        UT_CDiagClientInterface(void)
    		: m_DiagClientInterface(CDiagClientInterface::getDiagClientInterface())
    	{
    
    	}
        virtual ~UT_CDiagClientInterface(void){}
    
        CDiagClientInterface& getDiagClientInterface()
        {
            return m_DiagClientInterface;
        }
    
    private:
        CDiagClientInterface &m_DiagClientInterface;
    };
    

    数组指针引用:

    bool ReadAllDTCs(DTC_STATUS_ST (&DTC_Status)[DTC_TOTAL_NUMBER]) override; 
    
    TEST_F(UT_CDiagClientInterface, ReadAllDTCs)
    {
        DTC_STATUS_ST DTC_Status[DTC_TOTAL_NUMBER];
        getDiagClientInterface().ReadAllDTCs(DTC_Status);
    }
    

     

    展开全文
  • C++中访问类成员变量的几种方式

    千次阅读 2020-05-21 10:22:25
    //第一种,c++提供的类成员指针 int test::*p = &test::a; double test::*q = &test::b; string test::*m = &test::c; t.*p = 5; t.*q = 2.2; t.*m = "hello"; cout ;//5 cout ;//2.2 cout () ;//hello //第二种 t....
  • C++类成员变量初始化顺序问题

    千次阅读 多人点赞 2016-07-19 20:17:35
    今天在看剑指offer这本书时,看待一个简单的举例,说应聘C++岗位的不知道成员变量初始化顺序!我很惊讶,因为我也不知道,所以就看上网查了一下,看到了一个博客()以及其中的内容,现在将我的学习过程分享出来! ...
  • C++修改类成员变量的几种方式

    千次阅读 2018-12-06 05:52:08
    1、在的成员函数中修改 2、在外部直接修改(限于public类型成员变量) 3、在外部通过指针或引用的方式获取成员变量,然后再修改
  • 类成员变量为什么加“m_”前缀

    千次阅读 2020-02-27 17:47:39
    防止调用构造函数初始化时,传递的变量名相同。
  • 编程语言的三大发展阶段:面向机器语言、面向过程语言、面向对象语言 ; 其中面向对象语言主要体现三个特征:封装性、继承、...2、声明的变量称为对象变量,也简称 对象 ; 3、class 关键字是用来定义 ; 4、...
  • 题目: 编写一个学生Students,该类成员变量包括学号no、姓名name、性别sex和年龄age,
  • vector作为类成员变量,初始化问题

    千次阅读 2017-07-13 16:22:40
    最近做了一个小程序,中 使用了vector 作为成员变量,定义时不能初始化大小Class A{ ...... vector vec(3); } 总是报错。 然后在构造函数里初始化吧。 vec=vector(3); 问题解决。 继之前vec作为函数内变量的...
  • Javascript类成员变量和方法作用域

    千次阅读 2017-11-02 15:24:51
    function classA(p1, p2, p3) {  var v1= p1;  this.v2= p2;  v3 = p3; } 其中v1可以在classA内部任意地方访问,不同的实例之间不会互相覆盖。...方法的作用域域变量相同。
  • 转自:...例如定义一个: class Text { public static int number; public int temp; } 如果你想访
  • 静态内部属于外部本身,这样为什么外部依旧不能访问静态内部类成员
  • Qt 静态回调函数访问类成员变量解决办法 总结起来就是: 定义一个静态指针pThis,构造函数中将其指向this指针. 代码示例: 头文件: #ifndef TEST_H #define TEST_H #include &lt;QtWidgets/QMainWindow&...
  • C++类成员变量初始化位置

    千次阅读 2015-09-08 11:29:16
    的静态成员函数、静态成员变量是和相关的,而不是和的具体对象相关的。即使没有具体对象,也能调用的静态成员函数和成员变量。一般的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。...
  • 题目:编写一个学生students,该类成员变量包括学号no、姓名name、性别sex、和年纪age,该成员方法有getNo(),getName(),getSex(),getAge()和setAge().添加构造方法为所有变量赋初值,构造方法的四种格式: 程序...
  • 创建一个 Person ,该中有一个类成员变量 country、一个实例变量 name 和另一个实例变量 age。 country 表示地区,name 表示姓名,age 表示年龄。 创建 3 个 Person 对象,并分别给这3个对象的属性赋值。 ...
  • Python的类成员变量默认初始值的坑

    千次阅读 2019-02-02 02:29:45
    问题发现:一个循环内,缺省值初始化同名变量,其中的list成员不是空,会延续之前同名变量的值。 示例代码: # Define class class Variant(): # use def __init__(self, price = 500, description = 'default ...
  • 关于java中实体类成员变量命名的问题
  • Python 类成员变量使用确省值初始化时要注意的一个坑 标签(空格分隔): python2.7 python 3.6 考虑到如下场景: 定义class A,class A 包含成员变量 l 和 d, l为数组, d 为字典; 在 class A 的构造函数中...
  • C++ 两个包含互相调用彼此的类成员变量和方法
  • 2、Java数据类型初始化对照表:数据类型初始值booleanfalsechar'\u0000'byte0short0int0long0Lfloat0.0fdouble0.0d引用类型变量null注意:引用类型变量包括:String、一般对象、基础类型的包装(Byte、Boolean等)...
  • java(有关类成员变量的访问权限)

    千次阅读 2016-06-11 21:46:47
    private,public,protected,默认不写(firendly)1、Class的访问权限: public:可以供所有的访问。 默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的...
  • 在Java中同类中的静态方法不可以调用类成员变量以及静态方法。 因为因为java中静态的东西是级别的,也就是说用类名就可访问,也可以用任何对象名访问。 ...
  • 在标准模板库中,常见的文件流对象有fstream、ifstream、ofstream三种,我们可以用文件流的方式去操作文件,比如写文件和读文件,文件流继承图如下: ifstream继承于istream,实现高层文件流输入(input)操作,...
  • 例如有如下,class A ...怎么声明A的成员函数指针或成员变量指针呢?int* (A::*func_ptr) (void) = &A::func; int A::*obj_ptr = &A::mem;上面声明了指向成员函数func的函数指针,和指向成员变量mem的变量指针
  • package com.yonyou.review.base; public class ClassMember { static int i; static char c; static String s; static float f; static double d; static byte b; static short sh;... stat...
  • 实例变量(成员变量) 在的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在声明的内部但是在的其他成员方法之外声明的。 当一个对象被实例化之后,每个实例变量的值就跟着确定; 实例变量在对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,127,231
精华内容 450,892
关键字:

类成员变量