直接上代码:
#include<stdio.h> #include<string> #include<iostream> using namespace std; class Student { private: int age; string name; public: Student(int, string); void show(int _age, string _name); void show2(); }; Student::Student(int _age, string _name) { this->age = _age; this->name = _name; } void Student::show(int _age, string _name) { //printf("Age : %d\n Name : %s", _age, _name); cout<<"Age : "<<_age<<"\nName : "<<_name<<endl; } void Student::show2() { cout<<"Age : "<<this->age<<"\nName : "<<this->name<<endl; } int main() { Student s(16, "puyangsky"); s.show(14, "puyangsky"); s.show2(); Student *s1 = new Student(16, "puyangsky"); s1->show2(); return 0; }
定义了一个Student类,在main方法中使用了两种方法去实例化对象,第一个对象s是直接用 类名 对象名(参数1,..)来定义的,第二个对象是通过指针定义,类名 *指针名 = new 类名(参数1,..)。
另外,如果直接通过类名定义一个对象的话,对象使用其成员变量和函数时是通过点的形式:
Student s1(13, "Amy"); s1.age = 15; s1.show();
如果是通过指针定义对象的话,则是通过->来访问其变量和函数:
Student *s2 = new Student(14, "Amy"); s2->age = 12; s2->show();