0
如何使用指針並調用它指向的類方法?如何在存儲在指針數組中時調用類及其方法
例如:
Image *img[26];
Image IM = outputImage();
img[0] = &IM;
我想調用IMG [0],或IM的方法。我嘗試了這樣的東西,但我收到了錯誤。
img[0].getPixel(0,1);
錯誤是「表達必須具有類類型」
如何使用指針並調用它指向的類方法?如何在存儲在指針數組中時調用類及其方法
例如:
Image *img[26];
Image IM = outputImage();
img[0] = &IM;
我想調用IMG [0],或IM的方法。我嘗試了這樣的東西,但我收到了錯誤。
img[0].getPixel(0,1);
錯誤是「表達必須具有類類型」
由於正在使用一個指針數組,必須解除引用它作爲一個指針。
img[0]->getPixel(0, 1);
這:
Image IM = outputImage();
應該是:
Image &IM = outputImage();
假設outputImage()
返回一個引用。
您可以使用以下兩種方法: 1)使用 - >運算符到成員函數。
#include<iostream>
using namespace std;
class myclass
{
public:
void printHello()
{
cout<<"hello from class"<<endl;
}
};
int main()
{
myclass *s[10];
myclass inst;
s[0]=&inst;
s[0]->printHello();
return 0;
}
2)使用。解除引用指針後。
#include<iostream>
using namespace std;
class myclass
{
public:
void printHello()
{
cout<<"hello from class"<<endl;
}
};
int main()
{
myclass *s[10];
myclass inst;
s[0]=&inst;
(*s[0]).printHello();
return 0;
}