Java və C++ #include

Java main funksiyadan digər classlara müraciət etmək olar bəs c/c++ dilində bu necə edilir?


Yadda saxlama
Kateqoriya: Java, Proqramlaşdırma . , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (3 cavab var)

(16:29, 27/03/2012 ) #11582

C dilində class tipi təyin olunmayıb. C++ -da isə müraciət hər hansı class tipində təyin olunan funksiyaya yox, həmin tipdən elan olunmuş obyektin funkiyasına ola bilər. Əgər bu obyekt verilmiş funksiya (main və ya hər hansı qeyri) üçün qlobaldırsa və ya onun daxilində elan edilirsə onda adi qaydada müraciət olunur. Əgər sinif tipinin proqram kodu ayrı başlıq faylında təyin olunubsa onda #include direktivi vastəsilə həmin class -ın elan olduğu faylı proqram koduna əlavə etməklə class -dan birbaşa istifadə etmək olar. Lakin istifadədən əvvəl bəzən

 extern class clasın_adı;

sətrini əlavə etmək də tələb olunur.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(18:48, 27/03/2012 ) #11594

Salam. Sualımı cavablandırdığınız üçün təşəkkür edirəm. Ancaq mən bunu nəzərdə tutmurdum ola bilər sualın qoyuluşunu düz qoymamışam mənim istədiyim mənim birr .cpp faylım var və o faylı başqa bir .cpp faylında işlətmək istəyirəm. necə ki, java da eyni paketde yaratdıqmız classları main classdan çağıra bilirik. mən də bilmək istəyirəm ki c/c++ dilində də bir programdan başqa bi programın kodu olduğu faylı çağıra bilərəmmi? məsələn biz

#include <stdlib.h> 
#include <stdio.h> 

yazdığımız zaman avtamatik olarak printf, scanf, system kimi funksiyalara muraciət edə bilirik bəs muraciət etdiyim funksiya başqa bir cpp faylındadırsa mən onu yaza bilərəm?

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(13:01, 28/03/2012 ) #11615

Burada iki hal var: Siz çağırmaq istədiyiniz funksiyanı həm include (header), həm də cpp faylında elan edə bilərsiniz. Aşağıda hər iki hala aid nümunə verilir.

cpp halı:

cem funksiyasının proqram kodu cem.cpp faylında tərtib olunur və ona main.cpp faylından müraciət olunur
main.cpp faylının mətni

//main.cpp
#include <iostream>

// cem funksiyasini elan edirik
// extern onun kodunun ayri cpp faylinda 
// oldugunu bildirir
extern int cem(int, int);

int main(){

  // cem funksiyasina muraciet edirik
  std::cout<<"6+5 = "<<cem(6,5)<<"\n";

}

cem.cpp faylının mətni

//cem.cpp                                                                                                                               
//cem funksiyasinin proqram kodu
int cem(int x, int y){

  return x+y;

}

Kompilyasiya və icra eləsək:

[ferid@fedora tmp]$
[ferid@fedora tmp]$ g++ main.cpp cem.cpp -o prg
[ferid@fedora tmp]$ ./prg
6+5 = 11
[ferid@fedora tmp]$

Gördüyünüz kimi hər iki fayl birlikdə kompilyasiya olunub

include halı:
main1.cpp faylının proqram kodu

//main1.cpp
#include <iostream>

//cem funksiyasinin elan olundugu
//bashliq faylini proqrama elave edirik
// cem.h faylinin iostream -den ferqli olaraq
// <> ishareleri ile deyil, "" ile daxil edildiyine
// diqqet yetirin
#include "cem.h"

int main(){

  // cem funksiyasina muraciet edirik
  std::cout<<"6+5 = "<<cem(6,5)<<"\n";

}

cem.h faylının kodu

//cem.h
// cem.h faylinin proqrama tekrar qoshulmalarinin
//qarshisini almaq ucun ashagidaki derektivlerden
//istifade edirik
#ifndef CEM_H
#define CEM_H
                                                                                                                               
//cem funksiyasinin proqram kodu
int cem(int x, int y){

  return x+y;

}

#endif

Kompilyasiya və icra eləsək:

[ferid@fedora tmp]$
[ferid@fedora tmp]$ g++ main1.cpp -o prg1
[ferid@fedora tmp]$ ./prg1
6+5 = 11
[ferid@fedora tmp]$

Burada kompilyator olaraq g++ -dan istifadə olunur. include fayllarında elə də problem olmur və bütün kompilyatorlar demək olar ki eyni işləyir. Amma bir neçə cpp fayllarının birgə kompilyasiyası kompilyatordan asılı olaraq müxtəlif cür ola bilər.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (1 saat əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (6 gün əvvəl)

Software Developer cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (6 gün əvvəl)

Triste cavab verdi - Google Adsense vergi (6 gün əvvəl)

E. Hacı cavab verdi - Xif mn kodu (14 gün əvvəl)

Khagrov cavab verdi - Axtardığım mahnını tapa bilmirəm kömək edin (33 gün əvvəl)

E. Hacı cavab verdi - Dünəndən Kompüterlə Twitter/X və Pinterest -ə girə bilmirəm. (40 gün əvvəl)

orkhanrza cavab verdi - AZ9095də bağlama qalıb (45 gün əvvəl)

Ismayil1997 cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (54 gün əvvəl)

revan orucov cavab verdi - Bakıda evə 100mbps+ internet verən provayder var? (58 gün əvvəl)

E. Hacı cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (60 gün əvvəl)

Jurnalist cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (60 gün əvvəl)

asssa1 cavab verdi - Riyazi proqramlar üçün proqram (62 gün əvvəl)

Aleks cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (68 gün əvvəl)

E. Hacı cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (68 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23288 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024