C++ . H probléma?
Helló! Csináltam egy MyClass nevű classt, és szeretném kiíratni a benne levő stringet, de nem nagyon akar sikerülni.
//*********ConsoleApplication3.cpp*************
#include "stdafx.h"
#include "MyClass.h"
int main()
{
MyClass mc;
cout << mc.a;
int b;
cin >> b;
return 0;
}
//******MyClass.cpp**************
#include "stdafx.h"
#include "MyClass.h"
MyClass::MyClass()
{
}
MyClass::~MyClass()
{
}
MyClass::f() {
}
string a = "string";
//*************MyClass.h**************
#pragma once
class MyClass
{
public:
MyClass();
~MyClass();
void f();
string a;
};
Hibát ír az f() függvényre a MyClass.cpp fájlban, és a main függvényben hibát ír a << -re. Mi lehet a gond?





//******ConsoleApplication3.cpp******
#include "stdafx.h"
#include "MyClass.h"
#include <iostream>
using std::cout;
using std::cin;
int main()
{
MyClass mc;
cout << mc.a << "\n";
mc.f();
int b;
cin >> b;
return 0;
}
//******MyClass.cpp******
#include "stdafx.h"
#include "MyClass.h"
#include <iostream>
using std::cout;
MyClass::MyClass()
{
a = "string";
}
MyClass::~MyClass()
{
}
void MyClass::f()
{
cout << "Hello, f()!\n";
}
//******MyClass.h******
#ifndef _MYCLASS_H_INCLUDED
#define _MYCLASS_H_INCLUDED
#include <string>
using std::string;
class MyClass
{
public:
MyClass();
virtual ~MyClass();
void f();
string a;
};
#endif // _MYCLASS_H_INCLUDED





Most erre mit mondjunk?
Csak úgy bele a nagyvilágba, ahogy esik úgy puffan alapon nem lehet programozni, mert szigorú szintaktikai szabályok vannak.
Például, ha a cpp fájlod nem felel meg a headernek (hiányzik a függvény visszatérési értéke) vagy újra akarsz deklarálni adattagokat (string a), az a fordítónak nem fog tetszeni.





Nem igazán értem, az "a" adattagba hogyan kerül a "string" érték. Szerintem sehogy. Az értékadás az osztálytól teljesen független helyen van, és az ott szerintem egy globális változó lett.
Nézd át az #1-es választ.





Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!