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

虾米姐 阅读:462 2022-03-12 16:25:33 评论:0
本文章主要介绍了【C++】类的两种实例化方法,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

直接上代码:

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

标签:C++
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

我的关注

全民解析

搜索
关注我们