1. 程式人生 > >C++類建立多個物件不共享變數

C++類建立多個物件不共享變數

如題,在使用c++相同的類建立多個物件時,在類中定義的變數並沒有在多個物件中共享,而是各自獨立分配了

下面程式碼測試:

編譯器:visual studio 2013專業版

Point.h

#pragma once
class Point
{
public:
    int i = 0;//這裡定義了變數i
    Point(double=0.0,double=0.0);
    ~Point();

    double getI(){
        return i;
    }

};

Point.cpp

#include "stdafx.h"
#include "Point.h"
#include"iostream"
using namespace std; Point::Point(double,double) { i++; } Point::~Point() { i++; } void main(){ Point p = Point(7.0); //建立Point類物件,i++ cout << p.getI() << endl; //i=1 p.~Point(); //析構物件p,i再次自增 cout << p.getI() << endl; //i=2 Point p2 = Point(8.0
); //這裡是關鍵,我再次新建物件p2,i並沒有從2自增,還是從頭來了 cout << p2.getI() << endl; //i=1 system("pause"); }

之後我測試了i放在protected和private中都是一樣的。