Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Особенности при создании класса


Автор: Lotles 13.5.2010, 14:54
Чем переменная f отличается от k
Код

#include "stdafx.h"
#include <conio.h>
using namespace std;
class Fraction{
private:
        void Fraction::fractX(){
                Fraction fractX;
                fractX.k=10;
                fractX.f=20;
        }
public:
    int Fraction::k; // что здесь дает "::"
        int f;
};
int main(){
Fraction fract1;
fract1.k=100;
fract1.f=5;
return 0;
}

Автор: djamshud 13.5.2010, 15:04
В обоих местах "Fraction::" - это (сверх?)точное указание места определения. Ненужное. Хз, как это соответствует стандартам с++, но компилятор GCC считает это ошибкой.

Автор: GoldFinch 13.5.2010, 15:11
переменные ничем не отличаются.

msvc такой код уверенно жрет,
djamshud, какая ошибка у гцц?

Автор: djamshud 13.5.2010, 15:26
class A{
int A::a;
};

extra qualification ‘A::’ on member ‘a’

Для метода то же самое.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)