Çözüldü C++ header kodu çalışmıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

SuppleWaif7

Hectopat
Katılım
9 Şubat 2020
Mesajlar
852
Çözümler
4
Merhabalar, bir projede kullanmak üzere C++ öğrenmeye başladım. Header kısmına geldiğimde, headerda oluşturduğum showInfos(); komutu , .cpp uzantılı dosyadan gözüküyor ancak main'de gözükmüyor. Main'de gözükmeyincede kod çalışmıyor, bir türlü hatayı çözemedim. Bu sorunu nasıl çözebilirim? Visual Studio 17 kullanıyorum.
 

Dosya Ekleri

  • 8ut5hf1.png
    8ut5hf1.png
    10 KB · Görüntüleme: 116
  • l3lv3wi.png
    l3lv3wi.png
    12,9 KB · Görüntüleme: 110
  • 8jmaukl.png
    8jmaukl.png
    11,6 KB · Görüntüleme: 129
Çözüm
Aslında orası showInfos(); du ama ek görüntüsü alırken showInfos; olmuş :D


C++ dersini izlediğim kanalda böyle yapıyordu, ben de çok sorgulamadan böyle yazdım :)

Complierla da ilgisi olabilir mi ? Dersi aldığım kanal Eclipse kullanıyordu, acaba Vs 17'de unuttuğum ek bir kod olabilir mi diye düşünüyorum
Eclipse compiler değil Visual Studio'nun derleyicisi MSVC ya da MinGW kullanıyordur izlediğin yer ama önemli değil sorunun compiler'la ilgisi olduğunu düşünmüyorum, header dosyasını main.cpp ile aynı dizine koydun mu?
Bir de izlediğin kanalı atabilir misin?
Selamlar, c++ ile fazla çalışmadım ama ekrana yazdırma methodunuz parametre almadan id, name ve salary nin değerini alabilir mu bu şekilde bilemedim. showInfos(int id, str,ng name, string salary) şeklinde bir düzenleme yapılabilir belki c++ üzerinde fala çalışmaığım için emin olamadım doğru anahtar kelimeler ile google da aratırsanız "stackoverflow" da kesin sizin karşılaştığınız sorun ile karşılaşan vardır. Fazla yardımcı olamayacağım. Yanlış yönlendirmekte istemiyorum açıkçası...
 
Main fonksiyonunda showInfos; yerine showInfos(); olarak çağır fonksiyonu dostum.
Aslında orası showInfos(); du ama ek görüntüsü alırken showInfos; olmuş :D

Benim gördüğüm tek hata showInfos methodunda id, name ve salary'i sanki static üyelermiş gibi çağırman(empolyee::id vb.) onun yerine this.id, this.salary vb. yapmalıydın.
C++ dersini izlediğim kanalda böyle yapıyordu, ben de çok sorgulamadan böyle yazdım :)

Complierla da ilgisi olabilir mi ? Dersi aldığım kanal Eclipse kullanıyordu, acaba Vs 17'de unuttuğum ek bir kod olabilir mi diye düşünüyorum
 
Artı -1 Eksi
Aslında orası showInfos(); du ama ek görüntüsü alırken showInfos; olmuş :D


C++ dersini izlediğim kanalda böyle yapıyordu, ben de çok sorgulamadan böyle yazdım :)

Complierla da ilgisi olabilir mi ? Dersi aldığım kanal Eclipse kullanıyordu, acaba Vs 17'de unuttuğum ek bir kod olabilir mi diye düşünüyorum
Eclipse compiler değil Visual Studio'nun derleyicisi MSVC ya da MinGW kullanıyordur izlediğin yer ama önemli değil sorunun compiler'la ilgisi olduğunu düşünmüyorum, header dosyasını main.cpp ile aynı dizine koydun mu?
Bir de izlediğin kanalı atabilir misin?
 
Son düzenleyen: Moderatör:
Çözüm
[CODE lang="cpp" title="main.cpp"]#include "Employee.h"

int main()
{
Employee employee;
employee.id = 1;
employee.name = "Name";
employee.salary = 12500;

employee.showInfos();
return 0;
}[/CODE]

[CODE lang="cpp" title="Employee.h"]#ifndef EMPLOYEE_H_
#define EMPLOYEE_H_
#include <iostream>

using namespace std;

class Employee
{
public:
string name;
int id;
int salary;

void showInfos(); // Bu metod bilgileri ekrana yazar.
};

#endif[/CODE]

[CODE title="Employee.cpp"]#include "Employee.h"

void Employee::showInfos()
{
cout << "ID: " << Employee::id << endl;
cout << "Name: " << Employee::name << endl;
cout << "Salary: " << Employee::salary << endl;
}[/CODE]

Aynı kod bende de mevcuttu, bir de bunu dene.

@TerabyteForever hocamın da dediği gibi Employee.cpp aynı projede ekli değilse hata verir.
 
Eclipse compiler değil Visual Studio'nun derleyicisi msvc ya da mingw kullanıyordur izlediğin yer ama önemli değil sorunun Compiler'la ilgisi olduğunu düşünmüyorum header dosyasını main.cpp ile aynı dizine koydun mu?
Bir de izlediğin kanalı atabilir misin?

Hocam hepinize çok teşekkür ederim, sorun sizin dediğiniz gibiymiş. Ben header Files'ın içinde oluşturmuştum employee.h dosyasını, oradan çeker diye düşünmüştüm düşünmüştüm. Demek ki Source'a atmak lazımmış bunu da öğrenmiş oldum :D
 
Hocam hepinize çok teşekkür ederim, sorun sizin dediğiniz gibiymiş. Ben header Files'ın içinde oluşturmuştum employee.h dosyasını, oradan çeker diye düşünmüştüm düşünmüştüm. Demek ki Source'a atmak lazımmış bunu da öğrenmiş oldum :D
Oradan çekmesi için
C++:
#include "headers/employee.h"
Yazmanız yeterli. Headers kısmını kendi isteğinize göre ayarlayın ama boşluk önermem ve genelde include ismi kullanılır böyle header klasörleri için.
 

Geri
Yukarı