0
請幫助我... 我有Student類,LinkedList類和struct Node。我想要獲得學生的(對象)名稱,我有這麼多的錯誤。我不知道調用函數的typedef。通過鏈表類中的另一個類調用函數
有我的代碼:
#include <iostream>
#include <string>
using namespace std;
class Student{
public:
string name;
int age;
Student(string n, int a){
name = n;
age = a;
}
Student(){};
void showname(){
cout << "My name is: " << name << endl;
}
void showage(){
cout << "My age is: " << age << endl;
}
};
template<class T>struct Node{
T value;
Node<T>* next;
};
template<class T>class LinkedList{
typedef void (T::*fn)();
public:
Node<T>* first;
Node<T>* temp;
LinkedList(){
first = NULL;
}
void insert(T a2){
Node<T>* new_node = new Node<T>;
new_node->value = a2;
new_node->next = first;
first = new_node;
}
void call(T b, fn op){
(b.*op)();
}
void show(){
temp = first;
while(temp!=NULL){
cout << temp->value;
temp = temp->next;
}
cout << endl;
}
};
int main(){
Student s1("Nurbolat", 18);
int a = 1;
LinkedList<int> l1;
LinkedList<Student> l2;
l2.call(s1, &Student::showname);
l2.call(s1, &Student::showage);
return 0;
}
它的工作。非常感謝你) –