class和struct的區別C語言struct和C class的區別C語言中struct是復雜的數據結構,不能定義函數,但是可以定義函數指針C 中struct可以定義成員函數,可以被繼承,可以實現多態struct Person { string name; int age; int (*setName)(string name);//函數指針}; struct Person { string name; int age; int setName(string name)//成員函數 { name = name; }};C 中struct和class的區別C 中struct和class的區別是對于成員函數和成員變量的訪問權限及繼承方式不同,class默認是private,而struct中默認是public的class還可以用于表示模板類型,struct則不可以 #include using namespace std;class Base {public: void print() { cout << "base..." << endl; }};class Deriveda:Base { };class Derivedb:public Base { };struct SDeriveda:Base { };struct SDerivedb:private Base { };int main(){ Deriveda Da; Derivedb Db; SDeriveda Sda; SDerivedb Sdb; //Da.print();編譯錯誤,對象不能訪問私有成員 Db.print(); Sda.print(); // Sdb.print();編譯錯誤,對象不能訪問私有成員 return 0;} template class className { private: T var; ... .. ... public: T functionName(T arg); ... .. ...};
|