<!--親の顔より見た光景-->

日々の発見を残していきます。

【C++】オブジェクト生成時の変数初期値

変数の初期値がCと同じかどうか調べてみた。
インスタンス変数ならひょっとして0初期化……?

【Car.h】

#pragma once
class Car
{
public:
	int getGasoline();
	void setGasoline( int );
private:
	int gasoline;
};


【Car.cpp】

#include "stdafx.h"
#include "car.h"

int  Car::getGasoline()
{
	return gasoline;
}

void Car::setGasoline( int gasoline_ )
{
	gasoline = gasoline_;
}


【main.cpp】

#include "stdafx.h"
#include "car.h"
#include <iostream>
using namespace std;
int main()
{
	Car car;
	cout << car.getGasoline() << endl;
	return 0;
}


【出力結果】

-858993460

ローカル変数の初期値と同じっぽい。

C++オブジェクト指向言語だから、色んな所をJavaと比べてしまう。
変数宣言だけでインスタンス化ってのがちょっと気持ち悪い。