实例化对象:
意味着一定有调用构造函数
实例化就是给,数据成员分配内存,构造对象。对象的成员函数和普通函数的区别就是,成员函数有个指向当前对象的this指针,可以访问对象的成员变量,其依赖于对象。静态函数就更像一个全局函数,没有this指针,可以通过类名直接访问,可以被对象的成员函数访问,静态函数只能访问类的静态成员。这些可访问属性是由编译器来实现的,编译之后就没有对象、成员这些东西了,都是数据和方法。
一.在栈区实例化对象
1.调用无参构造函数实例化对象 类型名 --- class/struct类型
类型名 对象名;
类型名 标识符(); //函数声明 不是实例化对象
类型名(); //匿名对象
2.调用有参构造函数
类型名 对象名(实参列表);
类型名(实参列表); //匿名对象
#include <iostream>
#include <string>
using namespace std;
class stu
{
private:
//成员属性
int no;
string name;
int score[3];
public:
//构造函数 默认的无参构造函数 默认的无参构造编译会自动提供
stu()
{
cout << "无参的构造函数: " << endl;
}
//用于给成员属性初始化
void init(int ino,string iname,int iscore[3])
{
no = ino;
name = iname;
for(int i = 0;i< 3;i++)
score