ページ 11

x codeでのc++プログラミング

Posted: 2014年12月30日(火) 18:59
by でん
x code というソフトを用いてC++でクラスの設計の練習をしているんですが
このプログラムを実行したところ以下のようなエラーが出てしまい
理由も分かりません。どなたか分かる方がいましたら、教えてください。

コード:

(llbd)
hl = (Humanlist *)0x7fff5fbff910	

コード:


#include <iostream>

class Globals
{
public:
    char n;
};

class Humanlist
{
public:
    virtual void human_name() = 0;
    virtual void human_informaition() = 0;
};

class Ni : public Humanlist
{
public:
    virtual void human_name();
    virtual void human_informaition();
};

void Ni::human_name()
{
    std::cout << "s\n";
}

void Ni::human_informaition()
{
    std::cout << "a ";
    std::cout << "B55 2\n";
}

class Human_chenge
{
public:
    Globals *g;
    Humanlist *hl;
    Ni *na;
    
    Human_chenge();
    
    void Humanlist_chenge();
};

Human_chenge::Human_chenge()
{
     na = new NI();
}

void Human_chenge::Humanlist_chenge()
{
    std::cout << "-キャラクタの頭文字を入力して-\n";
    std::cin >> g->n;
    hl = na;
}

int main()
{
    Human_chenge *hc;
    Humanlist *hl;
    
    hl->human_name();
    hl->human_informaition();

    return 0;
}

Re: x codeでのc++プログラミング

Posted: 2014年12月30日(火) 19:12
by みけCAT
main関数内でhlを初期化していないので、hl->human_name()を実行する際にアクセス違反になる可能性が高いです。