• Разрешено ли использовать C функции в C++?

    @Codebaker
    Всё умею, всё могу!
    Можно долго рассказывать про плохой стиль или разницу между парадигмами программирования.
    Можно холиварить, а можно знать, что 90% кода никто никогда не увидит.
    Также можно вспомнить, что С++ сам автор называл "С с классами".

    Так что да, можно.
    Ответ написан
    1 комментарий
  • Как исправить заполнение массива минимальными значениями другого массива?

    @res2001
    Developer, ex-admin
    Когда находите минимальный элемент в исходном массиве сохраняйте его значение и индекс, заменяйте в исходном массиве значение минимального элемента на некоторое максимально возможное число (INT_MAX в вашем случае). Повторяйте процедуру пока не заполнится весь массив минимумов.
    Затем нужно восстановить исходный массив по ранее сохраненной информации.
    Ответ написан
    2 комментария
  • Как создать разные события для изображений в массиве?

    teknik2008
    @teknik2008
    Расскажите про GOLANG. Мне интересно
    Тык
    var setBlur = document.getElementsByTagName("img");
    
    function setListenerForImage(){
      for(var i = 0; i < setBlur.length; i++){ 
        setBlur[i].addEventListener("click", blurStyle);	
      }
    }
    
    function blurStyle(e){
      var img=this;
      var state=img.getAttribute('blur');
      if(e.mousedown) return;
      if(state == 1){
        img.style.filter = ""; 
        img.setAttribute('blur',0);
      }else{
        img.setAttribute('blur',1);
        img.style.filter = "blur(5px)"; 
    
      } 
    } 
    
    setListenerForImage();
    Пример
    Ответ написан
    2 комментария
  • Не поможете разобраться с наследованием в Java?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    В том, что вы написали, нет никакого смысла (даже если это и компилируется)! Если я правильно понял смысл затеи, что из написанного ОЧЕНЬ непросто, то должно быть как-то так:
    public abstract class Pet {
    	String name;
    	int age;
    	int weight;
    	int cost;
    }
    ...
    public class Dog extends Pet {
    	public Dog(String name, int age){
    		this.name = name;
    		this.age = age;
    	}
    }
    ...
    public class Main {
    
    	public static void main(String[] args) {
    		Pet tuzik = new Dog("Tuzik", 5);
    		System.out.print(tuzik.age);
    	}
    
    }

    Это наиболее близко к написанному и будет работать, как хочется, но это все еще УЖАСНО с т.з. ООП, так что рассматривайте это только как иллюстрацию, а не как пример к подражанию.

    Обратите внимание на "public Dog(String name, int age){..." - это конструктор. У него нет типа. Он вызывается, когда класс инстанциируют (... = new Dog("Tuzik", 5);) и возвращает экземпляр класса (объект). Только после этого поля объекта проинициализированны какими-то значениями. До того в них в данном примере ничего нет (точнее, там сразу после создания объекта и до отработки его конструктора везде 0 и null в name).
    Если что-то непонятно, спрашивайте, но учтите, что пока вы не разберетесь с этим, продолжать обсуждать подробности (например, почему класс Pet абстрактный) бессмысленно.
    Ответ написан
    6 комментариев
  • Почему выдает ошибку java в примере иерархии?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Всё дело в том, что вы пишете tuzik.age = 3; не в методе, а в объявлении класса. Так делать нельзя. Как вам уже советовали, отформатируйте код, станет понятнее. Сейчас вы сделали следующее:
    * объявили класс Pet
    * объявили внутри него класс Dog
    * внутри Dog объявили две переменные типа Dog - tuzik и sharik
    * продолжили работать с этими переменными в теле класса. Тут ошибка, так делать нельзя.
    * далее объявили внутри Pet класс Master.

    Вообще, логическая ошибка у вас пошла со второго пункта. Dog надо делать отдельным файлом. И Master тоже. Переменные tuzik и sharik внутри Dog быть не должны, надо их отдельно куда-нибудь писать.

    Примерно так:
    //Pet.java
    public class Pet{
    ...
    }
    
    //Dog.java
    public class Dog extends Pet{
    ...
    }
    
    //Master.java
    public class Master{
    ...
    }
    
    //Main.java
    public class Main{
        public static void main(String[] args){
            Dog tuzik = new Dog();
            ...
        }
    }
    Ответ написан