#include <iostream> using namespace std ; class Cat { public: char name[20]; void Say_Name(void); //构造函数名字必须跟类名一样 //无返回值,但是可以传参 //调用 不能被调,只能自己运行 //在该类分配空间时自动运行 //支持默认参数,并且可以重载 Cat(const char *name = "kitty"); Cat(int a , int b ) ; }; Cat ab("ab") ; int main(void) { cout << "before cc " << endl ; //构造函数传参 class Cat cc("cc") ; //可以用class xxxx abc ; xxxx abc ; Cat aa("aa") ; cout << "after cc " << endl ; Cat ac(10 , 20); //******************************* Cat * p = NULL ; //在分配空间时自动调用 p = new Cat("p") ; delete p ; return 0 ; } void Cat::Say_Name(void) { cout << "name : " << this->name << endl ; } Cat::Cat(const char *name) { cout << "this is in Constructor" << endl ; strcpy(this->name , name ); Say_Name(); } Cat::Cat(int a , int b) { cout << "a : " << a << " b: " << b << endl ; }
运行结果: