Class tanımlarken hata

Başlatan power20, 05 Şubat 2020, 09:33:43

power20

vc++ acemisiyim.  Sorunsuz çalışan fonksiyonun kopyasını  class içine almaya çalışıyorum.
hata çıkıyor. Class buraya eklenemez mi?  nasıl bir formalite gerekiyor?

#include "stdafx.h"
 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;


 
 
int addNumbers(int value1, int value2);
 
 


class test{
public:
	int a,b;

public:
	int addNumbers(int value1, int value2)
	{
		return value1 + value2 ;
	}
}

int addNumbers(int value1, int value2)
{
   return value1 + value2 ;
}


 



MC_Skywalker

bir kere main fonksiyonun yok onu tanımlamalısın. onu tanımlamazsan


int main()
{
   addNumbers(502,2020)  //pusedo code 
   
   return 0;
}

LINK : fatal error LNK1561: Giriş noktası tanımlanmalıdır

gibi bir hata alırsın. bir iki yerde ";" eksiğin var.

power20

#2
main fonksiyonu ekledim class tanımını kabul etmiyor.
main içinde class kullanmak istiyorum.

#include "stdafx.h"


 class test{
public:
   int value1, value2;  
public:
  int addNumbers(){
  return value1 + value2 ;
   };
};



 

int main(void) {

 	return 0; 
}
En azından derlerken hata çıkmasa, yola devam edebileceğim.
Hocam şu kodu çalıştırıversen çok makbule geçicek. Class kullanmak içim MFC mi gerekir? 

MC_Skywalker

http://www.cplusplus.com/doc/tutorial/classes/

şuraya bir göz gezdir. Classlar ile ilgi örnek ve açıklama var. 

AST

Şu şekilde çalıştırılabilir,
class test{
    
public:
    int a,b;
 int addNumbers(int value1, int value2)
 {
 return value1 + value2 ;
 }
};


int main()
{
    test _test;
    
    std::cout << _test.addNumbers(10,20);


    return 0;
}

power20

#5
Benim solution/ proje ayarlarında sorun olduğu anlaşılıyor
(Compile as :   C Code (/TC)   veya Default seçilmesi  )

Sıfır proje olarak şöyle çalıştı.

#include <iostream>
 
using namespace std;



class test{
    
public:
    int a,b;
 int addNumbers()
 {
 return a + b ;
 }
};

int main () {

test _test;
_test.a=2;
_test.b=3;

    // std::cout << _test.addNumbers();
 
  return  _test.addNumbers() ;
}