构造函数重载

xiaoxiao2021-02-28  75

//构造函数重载 #include <iostream> using namespace std; class stu { private:   char *name;   int age;   float socre; public:    stu(); stu(char* a, int b, float c); void set(char* a, int b, float c); void print(); }; void stu::set(char* a, int b, float c) { name = a; age = b; socre = c; } stu::stu(char* a, int b, float c) { name = a; age = b; socre = c; } stu::stu() { name = NULL; age = 0; socre = 0; } void stu::print() { cout<<name<<","<<age<<"'"<<socre<<endl; } int main() { stu d1("tom", 20, 99.1);               //构造函数的运用 是小括号(注意) d1.print(); stu d2;                                //不给d2的参数赋值,运行是可以的 //  stu d2();                              //栈上时不可以加()的,有()编译不过去 堆上可以 // d2.print();        stu* d3 = new stu(); d3->set("la", 22, 98.2);     d3->print();     stu* d4 = new stu();                  //堆上时可以加()的,有()能编译过去 栈上不可以     d4->print(); stu* d5 = new stu("ok", 23, 97.2);     //构造函数可以直接与结构体指针用,也可直接与结构体用     d5->print(); }
转载请注明原文地址: https://www.6miu.com/read-79562.html

最新回复(0)