| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1483 人关注过本帖
标题:指针传参的问题,请看代码
取消只看楼主 加入收藏
冥玫怪盗
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-7-11
收藏
 问题点数:0 回复次数:4 
指针传参的问题,请看代码
// Danjicheng.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"
#include "string.h"

/*首先定义一个动物类作为基类*/
class Dongwu
{
protected:
    char* Name;
    char* Aihao;
public:
    Dongwu();
    void SetName(char* name);
    void SetAihao(char* aihao);
    void xianshi();
};
Dongwu::Dongwu()
{
    Name = new char[20];
    Aihao = new char[20];
}
void Dongwu::SetName(char* name)
{
    strcpy(Name,name);
}
void Dongwu::SetAihao(char* aihao)
{
    strcpy(Aihao,aihao);
}
void Dongwu::xianshi()
{
    cout<<"基类显示:"<<'\t';
    cout<<"动物类中,一个名为:"<<Name<<"的未知的动物,爱好:"<<Aihao<<'\n';
}

/*创建一个继承与动物类的 狗类 Dog类*/
class Dog:public Dongwu
{
protected:
    int* Age;
public:
    Dog();
    void DogAge(int* age);
    void Dogxianshi();
    ~Dog();
};
void Dog::Dogxianshi()
{
    cout<<"Dog中显示"<<'\t';
    cout<<"狗类中,一个名为:"<<Name<<"的狗,平时喜欢:"<<Aihao<<"今年:"<<Age<<"岁了"<<'\n';
}
void Dog::DogAge(int* age)
{
    Age = age;
}
Dog::Dog()
{
    Age = new int[1];
    Name = new char[20];
    Aihao = new char[20];
}
Dog::~Dog()
{
    
}

int main(int argc, char* argv[])
{
    Dog dog;
    dog.SetName("皮皮");
    dog.SetAihao("咬人");
    dog.DogAge(20);//此处有错误,肯定是传参的时候出现了问题,求教帮助!!!!!!!!!!!!!!
    dog.xianshi();
    dog.Dogxianshi();
}


提示错误如下:
--------------------Configuration: Danjicheng - Win32 Debug--------------------
Compiling...
Danjicheng.cpp
D:\.net程序\Danjicheng\Danjicheng.cpp(75) : error C2664: 'DogAge' : cannot convert parameter 1 from 'const int' to 'int *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:\.net程序\Danjicheng\Danjicheng.cpp(78) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.

Danjicheng.exe - 1 error(s), 1 warning(s)
搜索更多相关主题的帖子: 指针 代码 
2008-07-11 20:07
冥玫怪盗
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-7-11
收藏
得分:0 
谢谢各位前辈了,我刚学习C++,是自学的,之前没什么基础,所以今天问题比较多,希望各位前辈可以指教,麻烦各位了,认真看看,帮帮我!我真的很喜欢学习编程,希望各位看在我很上心的份上不吝赐教!!!
2008-07-11 20:09
冥玫怪盗
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-7-11
收藏
得分:0 
编译的确没问题了,可是获取的是地址。
不过还是谢谢你,毕竟知道了。
2008-07-11 20:35
冥玫怪盗
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-7-11
收藏
得分:0 
晓得解决方案了,多谢前辈指点,在 cout<<"狗类中,一个名为:"<<Name<<"的狗,平时喜欢:"<<Aihao<<"今年:"<<*Age<<"岁了"<<'\n';加个 * 就没问题了,感激不尽!
2008-07-11 20:37
冥玫怪盗
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-7-11
收藏
得分:0 
多谢各位前辈不吝赐教,我受益匪浅!以后请多多关照小弟!
2008-07-12 16:20
快速回复:指针传参的问题,请看代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015748 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved