C++ C++;在main中调用类的静态函数
我有一节课C++ C++;在main中调用类的静态函数,c++,function,class,object,static,C++,Function,Class,Object,Static,我有一节课 class Triedenie_cisla{ public: Triedenie_cisla(int *poleHodnot, int ddlzka); int *pole, dlzka; double bubble_cas, selection_cas, insertion_cas, quick_cas; vector<int> mnozina_int;
class Triedenie_cisla{
public:
Triedenie_cisla(int *poleHodnot, int ddlzka);
int *pole, dlzka;
double bubble_cas, selection_cas, insertion_cas, quick_cas;
vector<int> mnozina_int;
string vypis_pola();
void BubbleSort_int();
void SelectionSort_int();
void InsertSort_int();
void QuickSort_int();
void static zorad_Sorty();
};
Triedenie_cisla类{
公众:
特里德尼·西斯拉(内特*poleHodnot,内特ddlzka);
int*pole,dlzka;
双气泡、选择、插入、快速;
向量mnozina_int;
字符串vypis_pola();
void BubbleSort_int();
void SelectionSort_int();
void InsertSort_int();
void QuickSort_int();
void static zorad_Sorty();
};
以及功能
void Triedenie_cisla::zorad_Sorty(){
if ( (quick_cas<bubble_cas) && (quick_cas<selection_cas) && (quick_cas<insertion_cas) ) {
cout << "The best one is Quick Sort with time "<< quick_cas << " ms"<< endl;
}
}
void Triedenie_cisla::zorad_Sorty(){
如果((quick_cas因为zorad_Sorty
是静态的,它只能访问静态成员。但是您的实现访问非静态成员
如果需要访问此类的非静态成员,则必须实例化该类的实例
或者,如果必须使用静态方法,则必须仅使用静态成员来实现该方法。因为zorad\u Sorty
是静态的,所以它只能访问静态成员。但您的实现访问非静态成员
如果需要访问此类的非静态成员,则必须实例化该类的实例
或者,如果必须使用静态方法,则必须仅使用静态成员来实现该方法。因为zorad\u Sorty
是静态的,所以它只能访问静态成员。但您的实现访问非静态成员
如果需要访问此类的非静态成员,则必须实例化该类的实例
或者,如果必须使用静态方法,则必须仅使用静态成员来实现该方法。因为zorad\u Sorty
是静态的,所以它只能访问静态成员。但您的实现访问非静态成员
如果需要访问此类的非静态成员,则必须实例化该类的实例
或者,如果必须使用静态方法,则必须仅使用静态成员实现该方法。因为错误表明不能在静态函数中使用非静态成员。
您可以逐渐地使您需要的一切都使用静态,但是只在main中创建对象并使用它可能更有意义。
e、 g
(编辑)如果您有默认构造函数
//...
Triedenie_cisla object;
object.zorad_Sorty();
否则,请提供所需的参数:
Triedenie_cisla object(&poleHodnot, ddlzka);
object.zorad_Sorty();
正如错误所说,您不能在静态函数中使用非静态成员。
您可以逐渐地使您需要的一切都使用静态,但是只在main中创建对象并使用它可能更有意义。
e、 g
(编辑)如果您有默认构造函数
//...
Triedenie_cisla object;
object.zorad_Sorty();
否则,请提供所需的参数:
Triedenie_cisla object(&poleHodnot, ddlzka);
object.zorad_Sorty();
正如错误所说,您不能在静态函数中使用非静态成员。
您可以逐渐地使您需要的一切都使用静态,但是只在main中创建对象并使用它可能更有意义。
e、 g
(编辑)如果您有默认构造函数
//...
Triedenie_cisla object;
object.zorad_Sorty();
否则,请提供所需的参数:
Triedenie_cisla object(&poleHodnot, ddlzka);
object.zorad_Sorty();
正如错误所说,您不能在静态函数中使用非静态成员。
您可以逐渐地使您需要的一切都使用静态,但是只在main中创建对象并使用它可能更有意义。
e、 g
(编辑)如果您有默认构造函数
//...
Triedenie_cisla object;
object.zorad_Sorty();
否则,请提供所需的参数:
Triedenie_cisla object(&poleHodnot, ddlzka);
object.zorad_Sorty();
当我尝试创建对象时,我得到了这种类型的错误。'Triedenie_cisla':没有合适的默认构造函数,知道如何处理吗?Thanks@user3292179编译器是正确的。您没有提供默认构造函数。但是我不知道如何提供deafualt构造函数,我不需要使用It在我的程序中,除了这里。只有在有意义的情况下才提供默认构造函数。否则,请使用您提供的构造函数,即包含两个参数的构造函数。我尝试这样做,但是当我尝试创建对象时,我得到了这种类型的错误。'Triedenie_cisla':没有合适的默认构造函数我们该怎么办?Thanks@user3292179编译器是正确的。您没有提供默认构造函数。但我不知道如何提供deafualt构造函数,我不需要在我的程序中使用它,除非在这里。只有在这样做有意义时才提供默认构造函数。否则,请使用您提供的构造函数,即具有两个参数的构造函数当我尝试创建对象时,我得到了这种类型的错误。'Triedenie_cisla':没有合适的默认构造函数,你知道如何处理吗?Thanks@user3292179编译器是正确的。您没有提供默认构造函数。但是我不知道如何提供deafualt构造函数,我不需要我们请在我的程序中删除它,此处除外。仅在有意义的情况下提供默认构造函数。否则,请使用您提供的构造函数,即包含两个参数的构造函数。当我尝试创建对象时,我遇到了此类错误。“Triedenie_cisla”:没有合适的默认构造函数如何应对?Thanks@user3292179编译器是正确的。您没有提供默认构造函数。但是我不知道如何提供deafualt构造函数,我不需要在我的程序中使用它,除非在这里。只有在这样做有意义时才提供默认构造函数。否则使用您提供的构造函数,即接受两个参数的构造函数eters。该类似乎提供排序功能,但也记录这些排序的计时。如果我理解正确,这似乎是糟糕的设计。你不应该将排序和计时混为一谈。创建一个用于排序的类。单独执行计时。该类似乎提供排序功能,但也记录计时诸如此类。如果我没弄错的话,那看起来像是拙劣的设计。你说得对