Jump to content

c++ klases


rooz
 Share

Recommended Posts

es tagad esmu ticis c++ lidz klaseem, bet man ir maza aizkjershanaas:

 

tatad tas ir mans kods

 


//punkts.cpp

#include <cstdlib>
#include <iostream>
#include "punkts.h"
#include "metodes.cpp"
using namespace std;

/*. Izveidot klasi "Punkts", kurā tiek glabāti divi skaitļi - punktu
koordinātes. Klasei izveidot šādas metodes: 
		 (1) konstruktors, ar kuru tiek padotas sākotnējās vērtības, 
		 (2) destruktors, kurš paziņo par objekta likvidēšanu, 
		 (3) metode "Mainīt" ar diviem parametriem, kas izmaina punkta koordināšu vērtības par attiecīgo daudzumu (nevis
			 nomaina) 
		 (4) metode "Drukāt", kas izdrukā uz ekrāna dotā punkta
			 koordinātes, 

int main(int argc, char *argv[])
{
int a,b,c,d;
char iev;

do{
cout << "Ludzu ievadiet abu punktu kkordinaatas"<< endl << "1. punkts" << endl <<"X: ";
cin <<a;
cout << "Y: ";
cin << b;
cout << "2. punkts" << endl << "X: ";
cin <<c;
cout << "Y: ";
cin << d;
//ievades beigas;
punkts b(a, b, c, d);

b.~punkts;
cout >> "Ievadiet par cik mainit punktu koordinatas:" << endl;
cout >> "1. punkts" << endl <<"X: ";
cin <<a;
cout << "Y: ";
cin << b;
cout << "2. punkts" << endl << "X: ";
cin <<c;
cout << "Y: ";
cin << d;
b.mainit (a, b, c, d);


while (iev != 'b');	

system("PAUSE");
return EXIT_SUCCESS;
}

 


//punkts.h

class punkts {
  private:
		  int a,b,c,d,e;
  public:
		 punkts(int , int , int , int ); //konstruktors
		 ~punkts(); //destruktors
		void mainit(int , int , int , int );  //izmaina punktus
		void drukat();

};

 


//metodes.cpp

#include<iostream>
#include "punkts.h"
using namespace std;

punkts::punkts (int a, int b, int c, int d); //konstruktors
punkts::~punkts() //destruktors
			 {
			  cout<<"Objekts tiek likvideets " << endl;
			  }


punkts::mainit(int x,int w, int z, int y)
			   {
					a +=x;
					b +=w;
					c +=z;
					d +=y;
					cout << "Koordinaatas izmainiitas!" << endl;
			   } 

punkts::drukat(){
			cout << "Punkts A. X= " << a << " Y= " << b;
			cout << "Punkts B. X= " << c << " Y= " << d;
			}

 

bet tik un taa itka visu izdasrija ka vajaga nekas nesanaak, nekompileejas :( mosh kads var paliidzeet?? :)

Link to comment
Share on other sites

a ko slabo iemest kompilatora izmisuma kliedzienus mēginot kompilēt tavu līko kodu

 

 

In file included from metodes.cpp:2,

from punkts.cpp:4:

punkts.h:1: error: redefinition of `class punkts'

punkts.h:1: error: previous definition of `class punkts'

 

In file included from punkts.cpp:4:

metodes.cpp:5: error: declaration of `punkts::punkts(int, int, int, int)' outside of class is not definition

 

metodes.cpp:13: error: ISO C++ forbids declaration of `mainit' with no type

metodes.cpp:13: error: prototype for `int punkts::mainit(int, int, int, int)' does not match any in class `punkts'

punkts.h:7: error: candidate is: void punkts::mainit(int, int, int, int)

metodes.cpp:13: error: `int punkts::mainit(int, int, int, int)' and `void punkts::mainit(int, int, int, int)' cannot be overloaded

 

metodes.cpp:21: error: ISO C++ forbids declaration of `drukat' with no type

metodes.cpp:21: error: prototype for `int punkts::drukat()' does not match any in class `punkts'

punkts.h:8: error: candidate is: void punkts::drukat()

metodes.cpp:21: error: `int punkts::drukat()' and `void punkts::drukat()' cannot be overloaded

 

metodes.cpp:26: error: ISO C++ forbids declaration of `distance' with no type

metodes.cpp:26: error: prototype for `int punkts::distance()' does not match any in class `punkts'

punkts.h:9: error: candidate is: void punkts::distance()

metodes.cpp:26: error: `int punkts::distance()' and `void punkts::distance()' cannot be overloaded

punkts.cpp: In function `int main(int, char**)':

punkts.cpp:27: error: no match for 'operator<<' in 'std::cin << a'

punkts.cpp:29: error: no match for 'operator<<' in 'std::cin << b'

 

punkts.cpp:31: error: no match for 'operator<<' in 'std::cin << c'

 

punkts.cpp:33: error: no match for 'operator<<' in 'std::cin << d'

punkts.cpp:35: error: no matching function for call to `punkts::punkts(int&, punkts&, int&, int&)'

punkts.h:1: note: candidates are: punkts::punkts(const punkts&)

punkts.h:5: note: punkts::punkts(int, int, int, int)

punkts.cpp:37: error: statement cannot resolve address of overloaded function

punkts.cpp:38: error: no match for 'operator>>' in 'std::cout >> "Ievadiet par cik mainit punktu koordinatas:"'

punkts.cpp:39: error: no match for 'operator>>' in 'std::cout >> "1. punkts"'

punkts.cpp:40: error: no match for 'operator<<' in 'std::cin << a'

punkts.cpp:42: error: no match for 'operator<<' in 'std::cin << b'

 

punkts.cpp:44: error: no match for 'operator<<' in 'std::cin << c'

 

punkts.cpp:46: error: no match for 'operator<<' in 'std::cin << d'

punkts.cpp:47: error: no matching function for call to `punkts::mainit(int&, punkts&, int&, int&)'

punkts.h:7: note: candidates are: void punkts::mainit(int, int, int, int)

punkts.cpp:63: error: expected `while' at end of input

punkts.cpp:63: error: expected `(' at end of input

punkts.cpp:63: error: expected primary-expression at end of input

punkts.cpp:63: error: expected `)' at end of input

punkts.cpp:63: error: expected `;' at end of input

punkts.cpp:63: error: expected `}' at end of input

 

make.exe: *** [punkts.o] Error 1

 

ok 1 kljudu pats izlaboju, aiz neuzmaniibas nebiju ielicis } pirms while :)

Link to comment
Share on other sites

peec (4) metode "Drukāt", kas izdrukā uz ekrāna dotā punkta koordinātes, ir */ bet nu tas nav probleemu ceelonis

Link to comment
Share on other sites

laikam :D nu tagad tur vinsh uzradaas, vienkārši kko biju padzeesis un bija izdzeesies, bet pirms tam bija taas komenta beigas un paljube nekaa negaaja :(

Link to comment
Share on other sites

Guest
Slēgta tēma, pievienot komentāru nav iespējams.
 Share

×
×
  • Izveidot jaunu...