c++简单问题,求高手解答!!

1、下列程序有何问题?请仔细体会使用指针时应避免出现这个问题。(文件名:sy3-1.cpp)#include<iostream>usingnamespacestd;int... 1、下列程序有何问题?请仔细体会使用指针时应避免出现这个问题。(文件名:sy3-1.cpp)
#include <iostream>
using namespace std;
int main()
{
int *p;
*p=9;
cout<<"The value at p:"<<*p;
return 0;
}
错误原因:指针p没有初始化,也就是没有指向某个确定的内存单元,它指向内存中的一个随机地址,给这个随机地址赋值时非常危险的。

2、声明一个int型变量a,一个int型指针p,一个引用r,通过p把a的值改为10,通过r把a的值改为5。请将程序补充完整。(文件名:sy3-2.cpp)
#include <iostream>
using namespace std;
int main()
{
int a;
int *p= ;
int &r= ;
=10 ;
=5 ;
return 0 ;
}
3、编写一个矩阵转置的函数,矩阵的行、列数在程序中由用户输入。参考运行结果,将程序补充完整。(文件名:sy3-3.cpp)
#include <iostream>
using namespace std;
void move(int *matrix, int n)
{
int i,j,k;
for(i=0;i<n;i++)
for(j=0;j<i;j++)
{
k=*(matrix+i*n+j);
;
;
}
}
int main()
{
int n,i,j;
int *p;
cout<<"请输入矩阵的行、列数:";
;
p= ;
cout<<"输入矩阵的元素"<<endl;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
cout<<"第"<<i+1<<"行第"<<j+1<<"个元素为:";
;
}
cout<<"输入矩阵为:"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
;
cout<<endl;
}
;
cout<<"转置后的矩阵为:"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
;
cout<<endl;
}
return 0;
}
运行结果示例:

4、选做
声明一个Employee类,其中包括表示姓名、街道地址、城市和邮编等属性,包括change_name()和display()等函数。display()使用cout语句显示姓名、街道地址、城市和邮编等属性;函数change_name()改变对象的姓名属性;实现并测试这个类。(文件名:sy3-4.cpp)
参考程序代码如下,请在有“//”符号的行填写下面一行程序代码的注释。
#include <iostream>
#include <string>
using namespace std;
//
class Employee
{
private:
char name[30];
char street[30];
char city[18];
char zip[6];
public:
//
Employee(char *n,char *str,char *ct,char *z);
//
void change_name(char *n);
void display();
};
//
Employee::Employee(char *n,char *str,char *ct, char *z)
{
strcpy(name,n);
strcpy(street,str);
strcpy(city,ct);
strcpy(zip,z);
}
//
void Employee::change_name(char *n)
{
strcpy(name,n);
}
//
void Employee::display()
{
cout<<name<<" "<<street<<" ";
cout<<city<<" "<<zip;
}
int main()
{
//
Employee el("张三","平安大街3号","北京","100000");
//
el.display();
cout<<endl;
//
el.change_name("李四");
//
el.display();
cout<<endl;
return 0;
}
展开
 我来答
延迟0001
推荐于2016-02-11 · 超过13用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:34.5万
展开全部
#include <iostream>
#include <string>
using namespace std;
//定义Employee类
class Employee
{
private:
char name[30];
char street[30];
char city[18];
char zip[6];
public:
//声明公有构造函数
Employee(char *n,char *str,char *ct,char *z);
//声明公有成员函数change_name、display
void change_name(char *n);
void display();
};
//类外定义(实现)构造函数
Employee::Employee(char *n,char *str,char *ct, char *z)
{
strcpy(name,n);
strcpy(street,str);
strcpy(city,ct);
strcpy(zip,z);
}
//类外定义change_name函数
void Employee::change_name(char *n)
{
strcpy(name,n);//把传过来的字符串复制到name中
}
//类外定义display()显示功能的成员函数
void Employee::display()
{
cout<<name<<" "<<street<<" ";
cout<<city<<" "<<zip;
}
int main()
{
//创建Employee类的一个对象el并构造它
Employee el("张三","平安大街3号","北京","100000");
//调用成员函数display();
el.display();
cout<<endl;
//调用成员函数change_name
el.change_name("李四");
//调用成员函数display();
el.display();
cout<<endl;
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式