您的位置:首页 > 编程语言 > C语言/C++

C++类创建多个对象不共享变量

2016-06-08 11:21 363 查看
如题,在使用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中都是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++