30/09/2018, 22:44

Có đoạn code C++ chưa hiểu rõ. Xin nhờ mọi người giải thích giúp mình

Mọi người giảng giúp e đoạn code này với ạ. e mới học nên chưa hiểu biết nhiều, mong mọi người giúp ạ. tài liệu e copy từ ngôn ngũ lập trình c++ của học viện công nghệ bưu chính viễn thông

#include <ctype.h>

#include <string>

// Hàm có sử dụng con trỏ hàm như tham số

void Display(char[] str, int (*Xtype)(int c)){

int index = 0;

while(str[index] != ‘’){

cout << (*Xtype)(str[index]); // Sử dụng con trỏ hàm

index ++;

}

return;

}

// Hàm main, dùng lời gọi hàm đến con trỏ hàm

void main(){

char input[500];

cout << “Enter the string: ”;

cin >> input;
char reply;

cout << “Display the string in uppercase or lowercase (u,l): ”;

cin >> reply;

if(reply == ‘l’) // Hiển thị theo dạng lowercase

Display(str, tolower);

else // Hiển thị theo dạng uppercase

Display(str, toupper);

return;
}
... viết 00:56 ngày 01/10/2018

int (*Xtype)(int c)

Con trỏ hàm có tên Xtype có thể trỏ đến hàm có tham số kiểu int, gọi hàm này xong trả về kiểu int cho đối tượng cout sử dụng.

Nguyễn cường viết 00:46 ngày 01/10/2018

giải thích giúp em đoạn này với ạ “char[] str”

... viết 00:57 ngày 01/10/2018

char[] str là tham số của hàm. Bạn đã học đến phần nào rồi mà lại đọc mấy cái ví dụ này?

Nguyễn cường viết 00:56 ngày 01/10/2018

e cũng biết là tham số của hàm, nhưng e ko hiểu nó là loại tham số gì. nhìn thấy dấu “[]” thì e nghĩ là mảng, nhưng chưa nhìn thấy phần khai báo tham số mảng nào như vậy ạ

... viết 00:55 ngày 01/10/2018

Nó là con trỏ. Thử sizeof thì biết.

Bài liên quan
0