C++类的对象和类的指针的区别
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 class Student 5 { 6 public: 7 static int number; 8 string name; 9 10 public: 11 Student() { } 12 void set(string str) 13 { 14 name = str; 15 number++; // 调用静态数据成员 16 } 17 18 void print() // 态成员函数 print() 19 { 20 std::cout < < name < <" : The number of the students is " < < number < < " numbers." < < std::endl; // 调用静态数据成员 21 } 22 }; 23 24 int Student::number = 0; // 静态数据成员初始化 25 26 int main(int argc,char** argv) 27 { 28 Student* s1; 29 s1 = new Student(); 30 s1->set("111"); 31 32 Student s2; 33 s2.set("222"); 34 35 s1->print(); 36 s2.print(); 37 38 return 0; 39 } 对于类student ,定义了一个对象和一个指针。 类的指针:他是一个内存地址值,他指向内存中存放的类对象(包括一些成员变量所赋的值). 类的对象:用的是内存栈,是个局部的临时变量.
对于一个类的对象和这个类的指针(用new运算符分配内存)在应用时有何区别 指针可以实现多态,直接用对象不行 注意名字的类型. 其实作用基本一样 都是为了调用类的成员变量 和成员函数用的 类的指针:他是一个内存地址值,他指向内存中存放的类对象(包括一些成员变量所赋的值). 1.在类的声明尚未完成的情况下,可以声明指向该类的指针,但是不可声明该类的对象... 定义对象实例时,分配了内存。指针变量则未分配类对象所需内存 C++的精髓之一就是多态性,只有指针或者引用可以达到多态。对象不行 用指针: 第一实现多态。 第二,在函数调用,传指针参数。不管你的对象或结构参数多么庞大,你用指针,传过去的就是4个字节。如果用对象,参数传递占用的资源就太大了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |