C++事始め

Cocos2d-xを勉強することとなり、今更 C++ の基礎勉強。
面倒なところは、ファイル構成がJavaと異なるし、ヘッダファイルとかあるし、インクルード等がよくわからない。

そこで、最低限のプログラム。

今まで理解しきれなかったポインタの使用方法も整理できた。
わかりやすいかも。

main.cpp
[c]
#include <iostream>
#include <string>
#include "Animal.h"
using namespace std;

int main(int argc, const char * argv[])
{

string name = "Whoocus";
cout << "こんにちは、" << name << "さん。\n";

Animal dog("Pochi");
dog.eat(); //クラスからメソッドを呼ぶ
Animal cat("Tama");
cat.eat(); //クラスからメソッドを呼ぶ

//ポインタ
Animal *pDog = &dog;
(*pDog).eat(); //ポインタからメソッドを呼ぶ場合は .
pDog->eat(); //ポインタからメソッドを呼ぶ場合は ->

Animal *pCat = &cat;
(*pCat).eat(); //ポインタからメソッドを呼ぶ場合は .
pCat->eat(); //ポインタからメソッドを呼ぶ場合は ->

//Newを使った場合
Animal *pMonkey = new Animal("Etekichi");
pMonkey->eat();
delete pMonkey;
//オブジェクトはポインタでしか受けられないので下記はエラーとなる
//Animal monkey = new Animal("Etekichi");

return 0;
}
[/c]

Animal.h
[c]
#ifndef __CmdTest__Animal__
#define __CmdTest__Animal__

#include <iostream>
using namespace std;

class Animal
{
private:
string name;
public:
Animal(string s);
void eat();
~Animal();
};

#endif /* defined(__CmdTest__Animal__) */
[/c]

Animal.cpp
[c]
#include "Animal.h"
using namespace std;

Animal::Animal(string s)
{
name = s;
}
void Animal::eat()
{
cout << name << " is eating.\n";
}
Animal::~Animal()
{
cout << name << " is dead.\n";
}
[/c]

This entry was posted in C++, 技術情報. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です