C++ izmantot mainīgo no citas klases

Sākumlapa Forumi Citas tēmas Viss pārējais C++ izmantot mainīgo no citas klases

Tiek skatīts 1 ieraksts (no 10 kopumā)
  • Autors
    Ieraksti
  • #162658
    wilson
    Participant

    Rakstu C++ darbu.

    Nepieciešams izveidot vairākas klases, piem, klase “monitors” un klase “dators”

    Katra no šīm klasēm ir lauks price.

    Kā šos laukus var saskaitīt kopā un dabūt kopējo summu?

    class Computer

    {

    public:

    Computer(string, string, int);

    void SetComputer();

    void PrintComputer() const;

    void GetLauks();

    static int p;

    private:

    string procesors;

    string RAM;

    int price;

    };

    un

    class Monitors

    {

    public:

    Monitors(string, string, int);

    void SetMonitor();

    void PrintMonitor() const;

    void GetLauks();

    private:

    string modelis;

    string izmers;

    int price;

    };

    Trešajā failā jāskaskaita kopā abi price. Kā pie tiem mainīgajiem var tikt?

    #328516
    Anonīms
    Neaktīvs

    pirmkÃ¥rt jau price Tec ir privāts atribūts, tādēļ no arpuses tam nevar piekļūt. Vai nu pārtaisi to par publisku, vai arī uztaisi getteri.

    visādi citādi..

    int main()

    {

    var a = new Computer();

    var b = new Monitors();

    printf( “cena ir %i”,a.price + b.price)

    }

    #328517
    wilson
    Participant

    Ieliku abus price publiski. kā man var a un var b deklarēt?

    #include

    #include “computer.h”

    #include “monitors.h”

    using namespace std;

    int main()

    {

    Computer dators(“Intel Pentium”, “2GB”, 150);

    dators.PrintComputer();

    dators.SetComputer();

    dators.PrintComputer();

    Monitors monitors(“LG Flatron”, “10 collas”, 80);

    monitors.PrintMonitor();

    monitors.SetMonitor();

    monitors.PrintMonitor();

    var a = new Computer();

    var b = new Monitors();

    printf( “cena ir %i”,a.price + b.price);

    system(“pause”);

    return 0;

    }

    Kļūda:

    [Error] ‘var’ was not declared in this scope

    [Error] expected ‘;’ before ‘b’

    [Error] ‘a’ was not declared in this scope

    [Error] ‘b’ was not declared in this scope

    #328518
    nevertell
    Participant

    C++ skatos rakstīt neprotam.

    #328519
    nevertell
    Participant

    Jobansrots, lietojiet taču koda tagus.

    Code:


    Computer kompis;
    Monitors monis;
    std::cout << " Cena ir " << kompis.price + monis.price << std::endl;

    #328520
    wilson
    Participant

    Liels, paldies, aizgāja.

    Es čakarējos un internetā nekur nevarēju atrast.

    #328521
    nevertell
    Participant

    Atlika vien piebilst, nejauc kodā printf()’us ar cout’iem. Nepatīk viņi viens otram.

    #328522
    wilson
    Participant

    Printf principa neizmantoju.

    Bet kā var šos mainīgos no citas klases izmantot kādas klases funkcija?

    Piem.

    Complect::Complect(string a, string b, int c)

    {

    a=dators.cpu;

    vai arī b=Computer::price;

    c=dators.price + monis.price;

    }

    #328523
    nevertell
    Participant

    Joptvaju, cita klase ņem un inklūdo tavas definētās klases un tad tu lieto savu jaunizveidoto klašu tipus kā argumentus – nevis lieto stringus.

    Code:


    #include ;
    #include ;
    auto complect(pComputer Computer, pMonitor Monitor) {
    auto price = pComputer.price;
    price += pMonitor.price;
    return price;
    }

    #328524
    wilson
    Participant

    Izdevās, paldies

Tiek skatīts 1 ieraksts (no 10 kopumā)
  • Jums ir jāpieslēdzas sistēmai, lai varētu komentēt šo tēmu.
Jaunākais portālā