c++-请帮忙看看错误吧。。。

问题描述

请帮忙看看错误吧。。。

#include
#include
using namespace std;
class Person
{
private:
char *name;
public:
Person(char *n1):name(n1){strcpy(name,n1);}
void PrintName() {cout<<"The name is:";}
};
class Student:public Person
{
private:
long int Number;
public:
Student(char *n2,long int n3):Person(n2) {Number=n3;}
void PrintInfo()
{
cout<<"The number is:";
}
};
int main()
{
Person a("张三");
cout<<a.PrintName<<endl;
Student b("张三",142180217);
cout<<b.PrintInfo<<endl;
return 0;
}

解决方案

 #include<iostream>
#include<string>
using namespace std;
class Person
{
private:
    char *name;
public:
    Person(char *n1):name(n1){strcpy(name,n1);}
    void PrintName() {cout<<"The name is:" << name; }
};
class Student:public Person
{
private:
    long int Number;
public:
    Student(char *n2,long int n3):Person(n2) {Number=n3;}
    void PrintInfo()
    {
        cout<<"The number is:" << Number;
    }
};
int main()
{
        char ch[] = "张三";
    Person a(ch);
    a.PrintName();
        cout << endl;
    Student b(ch,142180217);
    b.PrintInfo();
        cout << endl;
    return 0;
}

解决方案二:

name没有空间,怎么放数据?

解决方案三:

name 没有分配内存空间,至少要 malloc 或 new 一下吧。

解决方案四:

http://codepad.org/tDXOotfn

The name is:张三
The number is:142180217

解决方案五:

char *name;
Person(char *n1):name(n1){strcpy(name,n1);}

很明显没有初始化指针,是不能直接使用的;
Person(char *n1):name(n1)
{
name = (char *)malloc(sizeof(char))
strcpy(name,n1);
}

解决方案六:

好像name没有分配空间。

解决方案七:

name 没有分配内存空间,既然用了std,就把 char* 换成 std::string

时间: 2024-09-17 03:28:47

c++-请帮忙看看错误吧。。。的相关文章

顺序查找c语言-在devc++环境下,编译错误,请帮忙查找问题

问题描述 在devc++环境下,编译错误,请帮忙查找问题 #include #include int search(int a[10],int x) { int j; for(j=0;j<10;j++) { if(a[j]==x) return j++; else continue; } return 0; } main() { int a[10]; int i; int target,b; for(i=0;i<10;i++) scanf("%d",&a[i]);

容器“Collection的一个小程序编译时出现的错误,请帮忙解决一下

问题描述 容器"Collection的一个小程序编译时出现的错误,请帮忙解决一下"容器"Collection的一个小程序在windowsXp下的JDK1.5版本/*Collection方法*/importjava.util.*;publicclassTestCollection{publicstaticvoidmain(String[]args){Collectionc=newArrayList();c.add("hello");c.add(newName

Nginx整合nginx-gridfs时,编译出错,请帮忙看看,谢谢。

问题描述 Nginx整合nginx-gridfs时,编译出错,请帮忙看看,谢谢. ./configure --prefix=/usr/local/nginx-1.8.0 --with-http_ssl_module --with-pcre=/usr/local/nginx_install/pcre-8.32 --with-zlib=/usr/local/nginx_install/zlib-1.2.7 --with-openssl=/usr/local/nginx_install/openssl

activemq-ActiveMq 警告问题,请帮忙看下有没有问题

问题描述 ActiveMq 警告问题,请帮忙看下有没有问题 今天ActiveMq 报了一个警告,请指导的大侠帮忙给看下是不是有问题 Mq是不是长时间没有连接就会断开,然后在重新连接 解决方案 一般服务端为了性能和减少没必要的用户连接数,会有一个超时设置,当idle时间达到,就会主动关闭u 这个连接.客户端这个时候就需要进行重连机制. 解决方案二: 你这是在client端出现的异常吗?应该不是因为长时间没有连接的关系,如果是长时间没有数据传输的话会报Timeout错误,这上面的错误提示是EOFEx

c++-请帮忙给这个头文件纠错

问题描述 请帮忙给这个头文件纠错 struct point{ double xy;}double length(struct point astruct point b){ return sqrt(pow(a.x-b.x2)+pow(a.y-b.y2));} 解决方案 #include 解决方案二: struct point{ double x y;};double length(struct point a struct point b){ return sqrt(pow(a.x-b.x 2)

sqlserver2008-sql server2008express启动失败,请帮忙

问题描述 sql server2008express启动失败,请帮忙 提示这个错误,FileMgr::StartLogFiles: 创建或打开文件 'e:sql10_main_t.obj.x86fresqlmkmasse,我的电脑上只有一个c盘,操作系统windows2008 64位,sqlserver2008express版 解决方案 SQL SERVER 服务启动失败 解决方案二: 打开SQL Server Configuration Manage,打开 SQL Server 2008服务,

mfc-大神们,新年快乐!!!我用MFC编写的串口助手,创建多线程,烦请帮忙看下哪里有问题呢,为什么不能显示

问题描述 大神们,新年快乐!!!我用MFC编写的串口助手,创建多线程,烦请帮忙看下哪里有问题呢,为什么不能显示 数据丢包是因为编辑框显示荒废时间,所以我把编辑框显示放到线程里面,可以不能与接收数据同步正确的显示,还会出现停止运行的错误,狂帮帮忙,看下,呜呜!!!! 解决方案 内存指针的问题,仔细调试下.

java-JAVA初级问题,请帮忙

问题描述 JAVA初级问题,请帮忙 1,问题描述:我在H盘下创建了ePaper的文件夹,结构如下: H:ePaper-----------ePaperXML(ePaperMainFrameTest.class需要使用的包) | --------------ePaperMainFrameTest.class 问题:直接运行,H:java ePaperePaperMainFrameTest,报错:进入ePaper文件运行H:ePaperjava ePaperMainFrameTest, 可以正常运行

想请教一个复杂的if 判断 语句,请帮忙看一下。。

问题描述 想请教一个复杂的if 判断 语句,请帮忙看一下.. 我想写一个if 语句 同时满足如下条件, a 和b 都不等于null , c 或者d 其中一个不等于null 请问这么写对吗? if(a!=null && b!= null && c!=null || d !=null) 解决方案 if(a!=null && b!=null &&(c!=null || d!=null)) 解决方案二: if (NULL != a &&