注册 登录
编程论坛 C++教室

请教几个简单C++题目!

lql528 发布于 2008-03-18 19:41, 1003 次点击
1、普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。
2、什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。
3、数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。
4、为了约束对数据对象的值做只读操作,C++采用什么方式?请做出简要归纳。

本人初学C++,很多不懂,麻烦高人指教

[[it] 本帖最后由 lql528 于 2008-3-18 19:48 编辑 [/it]]
3 回复
#2
baoyibao2008-03-18 22:59
1.普通数据类型的定义很简单,比如int iVar = 100;而指针类型也只是加了个说明符*,比如int *pInt;不过,指针类型在使用之前必须初始化,否则,会报错。
#include <iostream>
int main()
{
    int iVar = 100;
    int *pInt;
    // cout << *pInt; // 报错!
    pInt = &iVar;  // 使pInt指向iVar,即pInt是iVar变量的内存地址值
    cout << *pInt; // 用*解除指针引用
    return 0;
}

2.数据对象的引用就是数据对象的别名,也就是说如果定义了一个类Person并实例化一个对象:Person per,你可以直接通过实例化对象来调用相应的类成员函数(如果类中有个成员函数speak(),那么per.speak()是正确的)。当然,你也可以声明对象per的引用:Person &rPer = per(注意引用声明的同时必须初始化)。这样,rPer.speak()将产生和per.speak()相同的效果。
  对象的指针和引用的区别是:
  (1)使用方法不同:Peron *pPer = per; Person &rPer = per;
    调用speak():pPer->speak(), rPer.speak();
   (2)使用场合不同:引用声明同时必须初始化,而且之后不能将引用赋新值,即rPer = per2(如果声明了per2这个Person对象)就是错误的。而指针却可以重新赋值,指向另外的对象。而且指针使用时需要注意其是否为空,再进行操作。

。。。断电了,今天先答这些吧。
#3
lql5282008-03-19 19:14
感谢你的回答。
1