2 ni2016c ni2016c 于 2016.05.08 21:22 提问

初学者求教,C++中在类内声明一个struct和另一个类,在类外怎么定义

template
class List{
struct Node{};
...
class const_iterator{};
class iterator:public const_iterator{};
...
};
struct Node{
Object data;
...
};
这样定义出现了错误,但不知如何解决。并且模板Object在struct Node为何无法使用?

4个回答

CSDNXIAON
CSDNXIAON   2016.05.08 21:32

类中定义一个static数据成员,为什么还要在类外声明?
C++ Primer 学习笔记_47_类与数据抽象 --类的定义和声明
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

devmiao
devmiao   Ds   Rxr 2016.05.08 23:50

需要先申明下,再定义就好了。

qq423399099
qq423399099   Ds   Rxr 2016.05.09 08:50

在一个类的内部定义另一个类,我们称之为嵌套类(nested class),或者嵌套类型。之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。
http://blog.csdn.net/rabbit729/article/details/3334272

linshuhe1
linshuhe1   2016.05.09 09:49

定义内部类的话,跟最外层的类的唯一差别就是不加修饰标签public或者使用private进行修饰,就像:
public class One{
class two{

}

private class three{

}

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C++/NS3关于一个类用到另一个类所定义的的结构体类型
最近在写NS3,遇到一个问题就是例如ManetAdjManager.h有一个类叫ManetAdjManager的类,定义了 以下结构体类型 typedef struct  TopologyNode{         uint8_t source;         uint8_t dest;         uint8_t SigParamvalue;     }TopologyNod
C++ 关于在一个类中定义另一个类的指针与对象
1.在一个类中定义另一个类的对象,则程序运行时该类的对象自动调用其构造函数初始化,然后其主类才调用构造函数初始化2.在一个类中定义另一个类的指针,需要在主类里面初始化指针,如 A* p=new A(),之后该指针可以调用其类的成员变量,仅限公有变量,若想访问私有变量,需要将指针设置成友元。
一个类在另一个类中以集合形式声明为属性时应该注意的问题
标题:一个类在另一个类中以集合形式声明为属性时应该注意的问题,先解释一下,看下面的代码吧 [Serializable] public class MO_T_sj_quest { public List AnswerList { get; set; } public List IDList { get; set; } p
C++中的struct也能定义类!!!
本博参考了以下博客:http://www.cnblogs.com/ccsccs/articles/4025215.html 一、struct 新功能介绍 1、stuct用构造函数赋值struct A { int a; int b; A() //构造函数 { a=0; b=0; } }2、struct可以实现封装、继承,
类声明,解决c++两个类互相包含问题
在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型 class A { int i; B b; } class B { int i; A* a; } 请注意上面的定义内容,一般情况下是不能出现类A,类B相互引用都定义对象,即如下的样子: class A
php中引用另一个类中常量问题
在一个类中定义了常量,在另一个类中引用,这个类中require_once了常量文件,但是使用的时候会报错: Access to undeclared static property: constEquip::$name 常量类中: class constEquip{   const E1011  = 名称1; } 引用类中: class test{   require_once("cache/
一个类中定义的枚举,怎么传递到另一个不相关的类里?
一个类中定义的枚举,怎么传递到另一个不相关的类里? 只看楼主 收藏 回复 亮出24CM 9 快速升级神器 请看下面这段代码: class tA { public:  enum tE { i_0, i_1, }; void cShow()
C++类外定义
类内定义的成员函数,编译器会将其优先编译为内联函数。对于复杂的成员函数,则编译为普通的函数。 类外定义的成员函数的格式: 返回类型 类名::函数名(参数列表)   分文件类外定义: 定义一个类名.h的头文件,用来保存类的定义; 定义一个类名.cpp的文件,用来保存类中成员函数的定义,定义之前要加上#include "类名.h" #include #include #includ
Python:类的声明两种方法
第一种方法: class Call: def setName(self,name): self.name=name def kick(self): print("my name is %s ,who call me "%self.name) a=Call() a.setName('DaDaniu') print(a.kick()) 第一
C++中一个类访问另外一个类的成员变量或者成员函数
1.在一个类中定义另外一个类的成员为指针类型。并用this指针管理对象的内存,实现数据的传递。#include <stdio.h> class A { public: A(); ~A(); void SetData(int year, int month, int day); int _year; int _month; int _day; static int sum;...