Ваш main немного вялый в данный момент.
int main(){
classname(20, 20) object; // You are incorrectly calling a constructor which does not exist
object.classfunction2(50, 50); // more like correct behavior.
}
В определенном вами классе нет никаких переменных-членов, поэтому он не store
никаких данных.Он содержит только две функции.Таким образом, это означает, что вы можете использовать «конструктор по умолчанию», который компилятор определяет для каждого класса (вы можете предоставить свой собственный, если хотите).
int main(){
classname object; // Call the default constructor
object.classfunction1(10, 20); // Call the functions you want.
object.classfunction2(50, 50);
}
Если вы хотите предоставить конструктор, вы должны сделать что-токак:
class classname{
public:
classname(int variable1, int variable2):
member1(variable1), member2(variable2){}; //note that there is no return type
void classfunction1(); //because instead of taking parameters it uses member1 & 2
void classfunction2(int, int);
private:
int member1;
int member2;
};
Тогда вы будете выглядеть следующим образом:
int main(){
classname object(10, 20); // Call the default constructor. Note that the (10, 20) is AFTER "object".
object.classfunction1(); // Call the function... it will use 10 and 20.
object.classfunction2(50, 50); //This function will use 50, 50 and then call classfunction1 which will use 10 and 20.
}
Несколько замечаний: способ, которым вы пытались вызвать первый конструктор, был неправильным, вам нужны параметрыпосле имени переменной.См. Комментарии ниже, чтобы узнать о другом.