【C++】类的两种实例化方法

2026-01-25 17:20:48

直接上代码:

#include

#include

#include

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<

}

void Student::show2()

{

cout<<"Age : "<age<<"\nName : "<name<

}

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();

《极限挑战》导演回应郑则仕镜头被删事件网友:活该
7k7k多克多比充值中心